为Active Admin gem侧栏过滤器设置下拉搜索类型默认值

use*_*911 7 ruby-on-rails filter activeadmin

我正在使用ActiveAdmin rails gem并为我的某个模型配置了几个过滤器.对于其中一个字符串过滤器,我想将搜索类型下拉列表("包含","等于","开始时间","结束时")设置为默认为"等于"而不是"包含".

此外,类似地,我想将我的一个数字过滤器设置为默认为"大于"而不是"等于".

这是相关配置......

filter :message
filter :likes_count, as: :numeric
Run Code Online (Sandbox Code Playgroud)

小智 6

这将解决第二个,你应该能够使用相同的模式来修复第一个.

filter :likes_count, as: :numeric, filters: ['gt', 'lt', 'eq']
Run Code Online (Sandbox Code Playgroud)

其中gt大于,小于等于eq.您可以重新排列或删除任何不需要的内容.您需要确保在en.yml文件中有翻译设置

所以在你的config/locales/en.yml中

en:
  active_admin:
    filters:
      predicates:
        predicates:
          contains: "Contains"
          equals: "Equals"
          eq: "Equals"
          starts_with: "Starts with"
          ends_with: "Ends with"
          greater_than: "Greater than"
          gt: "Greater than"
          less_than: "Less than"
          lt: "Less than"
Run Code Online (Sandbox Code Playgroud)