我正在使用ActiveAdmin,我正在尝试使用自己的范围设置过滤器。这是一个模型样本:
class MyModel < ActiveRecord::Base
scope :by_nationality, lambda { |nationality| OtherModel.where(nationality: nationality).map(&:my_model) }
end
以下是我设置过滤器的方法:
ActiveAdmin.register MyModel do
filter :nationality
end
不幸的是,这不起作用:过滤框不包含任何国籍过滤器。 有谁知道我应该如何设置这个过滤器,如果它甚至可能?
谢谢!
答案 0 :(得分:1)
首先,您需要将OtherModel与MyModel相关联
class MyModel < ActiveRecord::Base
belongs_to :other_model
end
您不需要范围,过滤器适用于相关模型
ActiveAdmin.register MyModel do
filter :other_model_nationality
end