0

我有一个命名空间admin。我想将 a before_filteronly 应用于此名称空间(不是默认名称,即superuser)。

我可以添加以下代码active_admin.rb

ns.before_filter :is_subscribed?

但是,superuser也得到了过滤器。

我尝试before_filter在我的命名空间配置中添加:

config.namespace :admin do |ns|
  ...
  ns.before_filter :is_subscribed?
end

但 Rails 抛出错误:

undefined method `before_filter' for #<ActiveAdmin::Namespace:0x007fa2e0f75f00>
4

2 回答 2

1

您可以添加一个带有 before_filter 的控制器,然后在该命名空间中的所有控制器中从该控制器继承?

IE。管理员基础控制器。

于 2013-08-23T19:21:22.613 回答
0

我将active_admin_extension.rb在 admin 目录中有一个文件,其内容如下:

module ActiveAdmin
  class BaseController
    before_filter :make_sure_something

    private
    def make_sure_something
      if active_admin_namespace.name == :my_desired_namespace && !something_there
         #do something here
      end
    end
  end
end
于 2017-12-15T04:52:46.660 回答