Active Admin,对非表属性具有自定义过滤器

时间:2018-07-03 17:21:42

标签: ruby-on-rails ruby activeadmin ransack

收藏: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都不是用户表中的属性。我希望能够将首选项用作自由文本框搜索参数,我将在控制器中使用该参数将其派生为数据,然后呈现记录。

请帮助

1 个答案:

答案 0 :(得分:0)

如果SELECT REGEXP_SUBSTR(mc_clob,':1A:([[:alnum:]]+\S+)') AS code1A, REGEXP_SUBSTR(mc_clob,':1B:([[:alnum:]]+\s+)') AS code1B, REGEXP_SUBSTR(mc_clob,':1C:([[:alnum:]]+\s+)') AS code1c FROM tableA; 是另一个表,则可以按preference个属性进行过滤,如下所示:

preference

例如,如果filter :preference_attribute, as: :string表具有名为preference的属性,则可以执行以下操作:

link