0

我正在尝试使用以下代码呈现 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 操作正确完成,但根本没有返回任何内容。似乎它不喜欢被传递的多个本地人。

有任何想法吗?谢谢!

4

1 回答 1

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
于 2013-09-03T03:01:12.600 回答