首页 > 解决方案 > 在非表属性上具有自定义过滤器的活动管理员

问题描述

收藏:users

属性:name, phone_no, email

ActiveAdmin.register User do
   filter 'period', as: :date_range, label: 'From - To'
end

上面的代码适用于日期范围

但是,下面的活动管理员代码不起作用

ActiveAdmin.register User do
   filter 'preference', as: :string
end

引发的错误是:

undefined method `preference_contains' for Ransack::Search<class: User, base: Grouping <combinator: and>>:Ransack::Search

两者periodpreference都不是用户表中的属性。我希望能够将首选项用作自由文本框搜索参数,我将在控制器中使用它来导出数据然后呈现记录。

请帮忙

标签: ruby-on-railsrubyactiveadminransack

解决方案


如果是另一个表,您可以按如下属性preference过滤:preference

filter :preference_attribute, as: :string

例如,如果preferencetable 有一个名为 的属性link,您可以这样做:

filter :preference_link, as: :string


推荐阅读