ActiveAdmin 选择过滤器集合

问题描述 投票:0回答:1

我正在尝试使用 Rails 4 在 ActiveAdmin(1.0.0pre4) 中创建选择类别过滤器。每个公司都有不同的类别。如何创建基于当前用户公司的过滤器集合?

filter :by_category,
        as: :select,
        collection: proc { Category.by_company(current_company) }

这会导致

undefined method 'map' for #<Proc:0x007fccc3b29340>

如果我删除周围的过程,那么当我启动服务器时会出现以下错误:

undefined local variable or method 'current_company' for #<ActiveAdmin::ResourceDSL:0x007fb8a8c332b0> (NameError)

是否可以使用 ActiveAdmin 1.0.0pre4 执行此操作?

ruby-on-rails ruby ruby-on-rails-4 activeadmin
1个回答
3
投票

你能从

current_company
得到
current_user
吗?即
current_user.company

如果是的话,

filter :by_category,
       as: :select,
       collection: proc { Category.by_company(current_user.company) },
       label: 'Category'
© www.soinside.com 2019 - 2024. All rights reserved.