我正在尝试使用以下代码呈现javascript文件(通过远程AJAX调用):
respond_to do |format|
format.js { render "like", :locals => {:media_id => media_id, :like_type => like_type}}
end
该文件被命名为“like.js.erb”,我知道它会起作用,因为当我在文件中只放置一个标准的javascript警报时,它可以正常工作。 该文件(如.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操作会正确完成,但根本不会返回任何内容。似乎它不喜欢传递多个本地人。
有什么想法吗?谢谢!
答案 0 :(得分: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