Methods 如何在Active Admin中为方法(而不是字段)编写筛选器?
我有一些资源的活动管理索引页Methods 如何在Active Admin中为方法(而不是字段)编写筛选器?,methods,filter,customization,filtering,activeadmin,Methods,Filter,Customization,Filtering,Activeadmin,我有一些资源的活动管理索引页 ActiveAdmin.register Request do index do column :created_at column :content column "Approved", :approved? default_actions end filter :created_at filter :content filter :approved? end 问题是它没有为approved?请求生成筛选器(
ActiveAdmin.register Request do
index do
column :created_at
column :content
column "Approved", :approved?
default_actions
end
filter :created_at
filter :content
filter :approved?
end
问题是它没有为
approved?
请求生成筛选器(但它正确地生成了列)。我认为这是因为approved
是一种方法,如果approved\u at
不是nil
则返回true。在这种情况下,如何编写筛选器?尝试使用作用域创建筛选器按钮:
# model/request.rb
scope :approved, where("approved_at IS NOT NULL")
# or...if you have other default values on approved_at column you can try this
scope :approved, where("approved IS NOT", nil)
scope :approved, where("approved IS NOT ?", "")
#app/admin/requests.rb
scope :approved
有关活动管理中作用域的更多信息:
def已批准?如果已批准,则返回true else false end end
我添加了一个按钮,通过在“已批准”列上的作用域对“已批准”进行筛选。请尝试:)