我再......Rails:使用will_paginate顯示每頁10或20或50個結果如何?
我需要每頁顯示結果中的10分或20或50號的結果,在我使用will_paginate插件帖子列表中選擇選項
你能幫助我嗎?
謝謝!
我再......Rails:使用will_paginate顯示每頁10或20或50個結果如何?
我需要每頁顯示結果中的10分或20或50號的結果,在我使用will_paginate插件帖子列表中選擇選項
你能幫助我嗎?
謝謝!
要設置一類廣泛的默認
class Post < ActiveRecord::Base
def self.per_page
25
end
end
或者通過查詢依據查詢中使用per_page在您的通話
class Post <ActiveRecord::Base
def self.posts_by_paginate
paginate(:all, :per_page => 25, :conditions => ["published = ?", true])
end
end
這裏是我會做什麼
Class UsersController < ApplicationController
def index
@users = User.paginate(:all, :page => params[:page], :per_page => params[:number_of_records])
end
end
看起來OP也在這裏問:http://railsforum.com/viewtopic.php?id=33793並得到更好的答案。
要適應那裏的最佳解決方案,這是我喜歡的:
(視圖)
<%= select_tag :per_page, options_for_select([10,20,50], params[:per_page].to_i),
:onchange => "if(this.value){window.location='?per_page='+this.value;}" %>
(控制器)
@per_page = params[:per_page] || Post.per_page || 20
@posts = Post.paginate(:per_page => @per_page, :page => params[:page])
感謝您的示例 - 這正是我需要的Rails 3項目。儘管一個技巧......你可能想要將你的select_tag中「params [:per_page] .to_i」部分改爲「@per_page」,因爲我們已經知道控制器的@per_page。此更改可確保在您的選擇標記中選擇適當的值,即使沒有per_page參數(例如,索引操作)。 – 2011-06-23 15:33:53
它適合我。 – 2012-11-05 07:01:49
如果OP希望確保只10,20和50每個頁面選項都有效,您可以擴展此方法來執行該限制。類似於['10','20','50']。包括?(params [:page]) – 2009-08-16 01:41:06