Не могу передать несколько местных жителей при рендеринге 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