【发布时间】:2012-05-09 20:12:14
【问题描述】:
在我的 ActiveAdmin 模型中,我有一个自定义范围来显示已删除的记录和几个过滤器,用于按特定列搜索记录。
单独使用过滤器或组合使用过滤器可以按预期工作。
使用作用域按预期工作。
问题在于,使用范围似乎会覆盖所有过滤器,并且在选择范围后,添加的任何过滤器都不会执行任何操作。
这里有人有什么想法吗?我想要的是能够显示特定范围,然后仍然能够过滤该范围内的结果。
ActiveAdmin.register Example do
scope :deleted do |example|
Example.only_deleted
end
scope :all do |example|
Example.with_deleted
end
filter :title
filter :description
index do
column :title
column :description
end
end
[更新]
这是我采用的解决方案。我在模型上设置了 with_deleted 范围,并在侧面包含过滤器以显示/隐藏已删除的结果。不理想,因为还会显示最初删除的结果,但至少所有过滤器可以一起使用。
ActiveAdmin.register Example.with_deleted do
filter :title
filter :description
filter :deleted, :as => :select, :collection => {:true => nil, :false => false }
index do
column :title
column :description
end
end
【问题讨论】:
-
在当前的 Active Admin 中不再是问题
标签: ruby-on-rails activeadmin formtastic