我正在使用kaminari宝石进行分页。
我想只显示添加的10个最新项目。对于其他范围,我最多可以显示30个。
以下是Resources控制器的索引操作:
@filt= params[:filter] || 'no_filter'
@resources = get_resources(params[:category]||=nil).approved.send(@filt).page(params[:page]).per(30)
以下是Resource.rb模型中添加的最新资源的范围:
scope :recent, order('created_at DESC').limit(10)
因为per(30)是为其他范围设置的,所以它会覆盖:recent范围中的限制。
我如何只为最近的范围显示10?
答案 0 :(得分:0)
您可以像这样简单地更改功能的顺序:
@resources = get_resources(params[:category]||=nil).approved.page(params[:page]).per(30).send(@filt)
PS:相反,(params[:category]||=nil)
您只需执行此操作(params[:category])
PS2:我认为最好创建一个方法类,我们就像这样:
@resources = Resource.find_by_category(params[:category]).approved.page(params[:page]).per(30).send(@filt)