我正在使用带有 rails 3.2 应用程序的 Kaminari gem。它工作正常。现在我想添加一个带有 [5, 10, 15, 20] 选项的自定义每页下拉菜单。每页选择的分页链接应保留每页值。实现此自定义每页功能的最佳方法是什么?
问问题
4940 次
2 回答
9
添加 GET 表单。
<%= form_tag posts_path, method: :get do %>
<%= select_tag :limit, options_for_select([5, 10, 15, 20], selected: params[:limit] || 10) %>
<% end %>
并在您的控制器中添加
@posts = @posts.per(params[:limit]) if params[:limit]
这是假设您的资源是帖子,但显然您可以将其更改为您正在分页的任何内容。
当然,您需要通过添加提交按钮或通过 javascript 以某种方式触发表单。
于 2013-05-08T11:44:27.480 回答
1
最好的指南简单地解释了 kaminari gem 的工作原理,我建议您阅读该教程。http://railscasts.com/episodes/254-pagination-with-kaminari。kaminari 宝石是有助于分页选项的最佳宝石。
@products = Product.order("name").page(params[:page]).per(5)
对于您的自定义选项,您必须从下拉框中读取您的选项,并将 5 替换为我们从用户那里获得的变量。对于下拉框
<td><%= f.select :experiance_year, options_for_select([*0..10 ],0)%></td>
这里的 experiance_year 是从用户那里获得输入的变量。
于 2015-09-14T13:18:53.777 回答