我正在使用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。 –