我有一个名称空间admin
。我想仅将before_filter
应用于此命名空间(而不是默认值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>
答案 0 :(得分:1)
您可以添加一个带有before_filter的控制器,然后在该命名空间中的所有控制器中继承该控制器吗?
IE中。 AdminBaseController。
答案 1 :(得分:0)
我在admin目录中有一个文件active_admin_extension.rb
,内容如下:
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