【发布时间】:2018-03-11 11:28:02
【问题描述】:
我有一个管理员命名空间设置:
namespace :admin do
...
end
我只是想知道是否有一种方法可以将设计 before_filter, authenticate_user 用于 admin 命名空间内的所有控制器,而不是在每个单独的控制器中调用此方法。
【问题讨论】:
标签: ruby-on-rails devise namespaces
我有一个管理员命名空间设置:
namespace :admin do
...
end
我只是想知道是否有一种方法可以将设计 before_filter, authenticate_user 用于 admin 命名空间内的所有控制器,而不是在每个单独的控制器中调用此方法。
【问题讨论】:
标签: ruby-on-rails devise namespaces
您可以在“基本”管理控制器的顶层设置回调,如下所示:
class Admin::AdminController < ApplicationController
before_action :authenticate_admin_user!
end
这将影响从 AdminController 继承的任何控制器
在此示例中,您有一个通用管理控制器,您希望在其中放置管理控制器通用的方法:
class Admin::GenericAdminController < Admin::AdminController
def show
end
def new
end
def edit
end
...
end
【讨论】:
before_action 来确定它。在这种情况下,它是authenticate_admin。感谢您的帮助。