我可以使用下拉菜单将结果显示为10、15或20。问题是应用加载时会显示所有结果。在使用下拉过滤器显示更多结果之前,我默认只显示10个结果。
有人可以帮忙吗?
谢谢!
这是我的观点:
<%= select_tag :per_page, options_for_select([10,15,20], @per_page), :onchange => "if(this.value){window.location='?per_page='+this.value;}" %>
这是我的控制器:
@per_page = params[:per_page] || Post.per_page
@posts= Post.all.paginate(:per_page => @per_page, :page => params[:page])
答案 0 :(得分:0)
尝试以下代码:
@per_page = params[:per_page] || Post.per_page
@posts= Post.paginate(per_page: @per_page, page: params[:page])
请注意,我称其为不带Post
类本身而不是基于Post.all
的结果的分页。
我还删除了最后|| 10
部分。我认为您在那里不需要它,因为您已经在Post
模型上设置了此值。