主动联系提供了自定义过滤器和范围时所显示的索引页上,像这样:Activeadmin自定义过滤器和范围轨道4
我的管理应用程序/管理/ compensatory_off.rb代码
ActiveAdmin.register CompensatoryOff do
scope :pending, default: true
scope :approved
filter :claim_date, collection: proc { CompensatoryOff.all.map(&:claim_date) }
My Controller for index action :
controller do
def index
@page_title = "Comp-Off"
index! do |format|
if (current_user.has_role? :HRMS_Supervisor)
@compensatory_offs = CompensatoryOff.get_subordinate_employees_comp_offs(current_user).page(params[:page]).per(10)
else
@compensatory_offs = current_user.employee.compensatory_offs.order("compensatory_offs.claim_date DESC").page(params[:page]).per(10) if current_user.employee
end
format.html {
render "active_admin/resource/index"
}
end
end
end
end
我在上面的代码中同时使用了过滤器和范围。
在我的模型我所定义的范围也
class CompensatoryOff < ActiveRecord::Base
scope :pending, ->{where(status: "Pending Approval")}
scope :approved, ->{where(status: "Approved")}
#scope :claim_date_eq, -> (claim_date) {where(claim_date: claim_date)}
end
,但在上面的代码既范围和过滤器不工作。索引页面不会导致显示所有记录。
注意:当我从控制器删除我的自定义索引动作范围和过滤器工作正常。
我的管理应用程序/管理/ compensatory_off.rb代码
ActiveAdmin.register CompensatoryOff do
scope :pending, default: true
scope :approved
filter :claim_date, collection: proc { CompensatoryOff.all.map(&:claim_date) }
My Controller for index action :
controller do
end
end
如何索引行动资源越来越默认牵强,我想超越我自己的条件指数资源。
任何事情需要与索引操作添加,
请任何帮助我实现这一点,我在努力了很多,找到的结果。
谢谢。
这个代码给出下面的错误, 未定义局部变量或方法'collection_before_scope”为# –
2014-10-20 10:44:06
没错,''scoped_collection是解决方案。 – nistvan 2014-10-20 11:35:01
但分页不起作用。如何实现这个 – 2014-10-20 11:36:23