7

我正在使用带有 rails 3.2 应用程序的 Kaminari gem。它工作正常。现在我想添加一个带有 [5, 10, 15, 20] 选项的自定义每页下拉菜单。每页选择的分页链接应保留每页值。实现此自定义每页功能的最佳方法是什么?

4

2 回答 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 回答