我有一个页面,其中包含ajax标签,可以在我的控制器中加载不同的动作,以呈现具有不同内容的部分动作。
因此我的控制器的索引操作在顶部有两个远程:true链接。它工作得很好,他们使用respond_to js来适当地渲染相应的部分。
#comments_stream.js.erb and likes_stream.js.erb
$("#masonry-container").html("<%= escape_javascript render('activities/activites') %>");
问题是我也在对这些部分kaminari和无限卷轴进行分页。因此我不希望在我的分页激活时运行上面js.erb文件中的代码,因为它只是替换(.html)我的内容而不是以无限滚动脚本尝试的方式附加新内容(并且在我的其他页)。
#pagination
<%= paginate @activities, remote: true %>
所以,我真正的问题是如何制作.html(“&lt;%...仅在单击我的标签中的链接时触发,而不是在分页时触发。
我尝试使用参数来定位远程操作,但无法使其工作。
#original remote link
<%= link_to comments_stream_path, remote: true %>
#what I tried
<%= link_to comments_stream_path, remote: true, :item => 'comments_partial' %>
#comments.js.erb
<% if params[:item] == 'comments_partial' %>
$("#masonry-container").html("<%= escape_javascript render('activities/activites') %>");
<% end %>
任何帮助将不胜感激!我一直在搞乱这一段时间......
答案 0 :(得分:1)
我认为你的参数传递错误,请尝试:
<%= link_to comments_stream_path(:item => 'comments_partial'), remote: true %>