我正在使用will_paginate gem,并试图弄清楚如何使浏览网站的用户可以使用列表更改每个页面上他/她想要的项目数量,如在这张图片右侧的列表用户可更改分页最好使用will_paginate gem
(随机谷歌图片搜索)。
我也是新来的铁路,所以我非常感激,如果你能给我一个想法,每个代码会去。谢谢你的帮助。
我正在使用will_paginate gem,并试图弄清楚如何使浏览网站的用户可以使用列表更改每个页面上他/她想要的项目数量,如在这张图片右侧的列表用户可更改分页最好使用will_paginate gem
(随机谷歌图片搜索)。
我也是新来的铁路,所以我非常感激,如果你能给我一个想法,每个代码会去。谢谢你的帮助。
gem 'will_paginate'
在您的控制器要分页
class SomeController < ApplicationController
def index
@somethings = Model.all.paginate(page: params[:page], per_page: params[:per_page])
end
end
在你看来
<%= select_tag :per_page, options_for_select([5,10,20,50],params[:per_page].to_i),
:onchange => "if(this.value){window.location='?per_page='+this.value;}" %>
随着will_paginate
您只需使用per_page
选项:
@posts = Post.paginate(
page: params[:page],
per_page: params[:per_page]
)
但是,在接受用户输入并将其传递给像这样的SQL查询时,应该保持警惕。在这种情况下,谨慎的做法是将输入转换为整数:
irb(main):008:0> nil.to_i
=> 0
irb(main):009:0> "gobeligook".to_i
=> 0
per_page = params[:per_page].to_i.zero? ? params[:per_page].to_i : 30
@posts = Post.paginate(
page: params[:page],
per_page: per_page
)
您可以用'jQuery的数据表,rails'宝石的分页。欲了解更多信息,请访问https://github.com/rweng/jquery-datatables-rails。 –