[英]Remote: true with link_to with params
I have following problem 我有以下问题
I have link_to 我有link_to
//_sort_by.html.erb
<%= link_to "sort", :sort_by => "things", remote: true %>
And in my controller I have function which choose posts according to sort_by 在我的控制器中,我具有根据sort_by选择帖子的功能
def show_posts
@category=Category.find_by(name: params[:sort_by])
if(@category)
@posts=Post.where(category_id: @category)
respond_to do |format|
format.js
format.html
end
else
@posts=Post.all
end
end
and in views 并在意见
//show_posts.html.erb
<div class="posts">
<%= render @posts %>
</div>
//
and I have _post.html.erb
It works fine (obviously without remote: true), but it refreshes site everytime when I change category of posts so in show_posts.js.erb I'd like to refresh only class="posts", like 它工作正常(显然没有remote:true),但是每次更改帖子的类别时都会刷新网站,因此在show_posts.js.erb中,我只想刷新class =“ posts”,例如
$('.posts').load(location.href + " .posts");
In routes.rb I have get 'show_posts'. 在routes.rb中,我得到了“ show_posts”。 But unfortunatelly it doesn't work.
但不幸的是,它不起作用。 Could someone help me?
有人可以帮我吗?
Edit: changing show_posts.js.erb to 编辑:将show_posts.js.erb更改为
$('.posts').html("<%= j render @posts %>");
works. 作品。 Thank you all for tips!
谢谢大家的提示!
$('.posts').append("<%= escape_javascript render(:partial => 'posts') %>");
使用这些内容更改您的show_posts.js.erb。
Try this out 试试看
$('.posts').html("<%= j render 'post' %>");
Hope this helps! 希望这可以帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.