【发布时间】:2015-05-28 12:50:32
【问题描述】:
我有以下问题
我有link_to
//_sort_by.html.erb
<%= link_to "sort", :sort_by => "things", remote: true %>
在我的控制器中,我有根据 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
在视图中
//show_posts.html.erb
<div class="posts">
<%= render @posts %>
</div>
//
and I have _post.html.erb
它工作正常(显然没有远程:true),但每次我更改帖子类别时它都会刷新网站,所以 在 show_posts.js.erb 我只想刷新 class="posts",比如
$('.posts').load(location.href + " .posts");
在 routes.rb 我有'show_posts'。但不幸的是,它不起作用。有人可以帮我吗?
编辑: 将 show_posts.js.erb 更改为
$('.posts').html("<%= j render @posts %>");
有效。谢谢大家的提示!
【问题讨论】:
-
你能告诉我们发生了什么错误吗?
-
没有错误,只是没有根据所选类别更改帖子列表
-
你有部分帖子吗?
-
你必须用类似这样的新内容替换 'posts' 类的内容 $('.posts').html("" )