又是我...
我需要使用 will_paginate 插件在我的帖子列表中显示 10 或 20 或 50 个结果
你能帮我吗?
谢谢!
看起来 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])
设置类范围的默认值
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