Не могу передать несколько местных жителей при рендеринге JS

Я пытаюсь визуализировать файл JavaScript (через удаленный вызов AJAX), используя следующий код:

respond_to do |format|
                format.js { render "like", :locals => {:media_id => media_id, :like_type => like_type}}
end

Файл называется "like.js.erb", и я знаю, что он будет работать, потому что, когда я помещаю в файл только стандартное предупреждение javascript, он работает отлично. Файл (like.js.erb) выглядит так:

<% if like_type == "l" %>
    alert("liking as <%= like_type %> for media_id <%= media_id %>");
    $('like_<%= media_id %>').update("liked");
<% elsif like_type == "u" %>
    alert("unliking as <%= like_type %> for media_id <%= media_id %>");
    $('like_<%= media_id %>').update("unliked");
<% end %>

Когда файл содержит приведенный выше код, действие POST завершается правильно, но ничего не возвращается. Кажется, ему не нравится, когда проходят несколько местных жителей.

Есть идеи? Спасибо!

1 ответ

Если вы используете :locals вариант, то вам нужно предоставить :partial ключ в качестве параметра.

respond_to do |format|
                format.js { render :partial => "like", :locals => {:media_id => media_id, :like_type => like_type}}
end

или же:

respond_to do |format|
                format.js { render "like", :media_id => media_id, :like_type => like_type}
end
Другие вопросы по тегам