如果未发送page和per_page,则will_paginate将呈现所有值

时间:2013-09-05 09:32:14

标签: ruby-on-rails json ruby-on-rails-3.2 ruby-on-rails-3.1 will-paginate

我使用will_paginate来获取分页中的值。考虑一下这个例子

if params[:page] || params[:per_page]
    @users = User.paginate(:page => params[:page], :per_page 
    => params[:per_page]).all(:order => 'id ASC')
else
    @users = User.all(:order => 'id ASC')
end

format.json {
 render json: 
      {:users => @users, :current_page => @users.current_page, 
       :total_pages => @users.total_pages, 
       :total_entries => @users.total_entries
      }
}

如果我没有发送任何参数( params[:page] or params[:per_page] ),那么它会显示

NoMethodError (undefined method `current_page' for #<Array:0x000002345ab655>)

1 个答案:

答案 0 :(得分:1)

尝试:

User.paginate(:page => params[:page], :per_page => User.count)

注意:

它会将所有用户放在一个页面中,从而阻碍了其重要性           分页。但如果这就是你想要的,那就是给你的。