我正在尝试为我的 Rails 项目上的 Kaminari 分页添加条件,但我发现这几乎是不可能的。这是我的代码
UserController
#feed=Feed.order('created_at desc').page(params[:page], :conditions=>["source=? or source=?","beep","sub_beep"])
上面的方法不起作用,所以我尝试了以下方法
@feed1 = Feed.find(:all,:conditions=>["source=? or source=?","beep","sub_beep"])
@feed= Kaminari.paginate_array(@feed1).page(params[:page]).per(2)
上面显示了内容,但每页没有显示 2 个内容,并且显示的元素没有排序。
我需要一种方法来向 kaminari 分页添加条件并对结果进行排序
我需要帮助!!! :(
最佳答案
Kaminari 设计为仅与 ActiveRecord 3+ 样式查询界面配合使用。
请避免使用 :conditions
“Hasheritis”语法,该语法迟早会被弃用,而是使用 where
方法进行链接。
Rails 指南中详细记录了 where
方法的用法:http://guides.rubyonrails.org/active_record_querying.html#conditions
你的 Controller 代码应该是这样的:
feeds = Feed.where(:source => ['beep', 'sub_beep']).order('created_at desc').page(params[:page])
关于pagination - Kaminari 分页与轨道上的条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12521103/