3

我正在使用 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

结果是出现了其他过滤器,但根本没有针对 Pin Types 的部分。

如果 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>

我想做的是允许用户从一组可能的选项中选择一个或多个引脚类型,并根据是否适用任何选定的选项进行过滤。

这可能吗?

4

2 回答 2

3

像这样使用过滤器: filter :model_attribute ,所以如果你在 User_events 上并且想要搜索用户名,你会做这个过滤器 :user_fullName

于 2011-10-21T15:48:16.840 回答
0

请注意,ccarlson 的答案有效,但仅适用于:check_boxes.

这是不幸的,因为 meta_search 的默认行为(用于为过滤器搜索提供动力)不会过滤掉重复项......当您使用复选框时,您可能不希望看到结果出现两次,因为它匹配2 个选定的选项。

我在尝试使用时遇到了未定义的方法错误as: :select,但不得不在复选框上咬紧牙关。

于 2013-02-12T05:21:26.790 回答