我正在使用Active Admin 0.3.2,我的数据库架构包含一些has_and_belongs_to_many关系。我可以很好地创建和显示记录,但是试图将它们包含在过滤器部分会导致事情停滞不前。
模型\ pin.rb:
class Pin < ActiveRecord::Base
has_and_belongs_to_many :pin_types, :join_table => :pin_types_pins
end
模型\ pin_type.rb
class PinType < ActiveRecord::Base
has_and_belongs_to_many :pins, :join_table => :pin_types_pins
end
管理员\ pins.rb
ActiveAdmin.register Pin do
filter :pin_types
...other filters
end
结果是出现了其他过滤器,但针对类型没有任何部分。
如果是admin \ pins.rb而是:
ActiveAdmin.register Pin do
filter :pin_types, :as => :check_boxes
...other filters
end
我得到以下内容:
undefined method `pin_type_ids_in' for #<MetaSearch::Searches::Pin:0xcd2c108>
我想要做的是允许用户从一组可能的选项中选择一个或多个引脚类型,并根据是否适用任何选项进行过滤。
这可能吗?
答案 0 :(得分:3)
像这样使用过滤器: filter:model_attribute ,所以如果你在User_events上并且想要搜索用户名,你就会这样做 filter:user_fullName
答案 1 :(得分:0)
请注意,ccarlson的答案有效,但仅适用于:check_boxes
。
这很不幸,因为meta_search的默认行为(用于驱动过滤器搜索)不会过滤掉重复项...当你使用复选框时,你可能不希望看到结果出现两次因为它匹配2个选定的选项。
我在尝试使用as: :select
时遇到了未定义的方法错误,但不得不在复选框上咬紧牙关。