【发布时间】:2013-04-02 21:45:20
【问题描述】:
我有一个带有 Devise (2.2.3) 和 Active Admin (0.5.1) 的应用程序,我先安装了 Devise,然后安装了 Active Admin。整个应用程序需要登录,所以在我的应用程序控制器中,我有以下内容:
before_filter :authenticate_user!
但是,自从将 Active Admin 安装到根命名空间(config.default_namespace = false,在 initializers/active_admin.rb 中)后,我的应用程序现在不允许任何人登录。它创建到路径 /users/login 的重定向循环。
我尝试通过在我的 config/application.rb 文件中添加一个 skip_before_filter 来缓解这种情况,但这没有奏效
config.to_prepare do
Devise::SessionsController.skip_before_filter :authenticate_user!
UsersController.skip_before_filter :authenticate_user!
end
我还在 app/admin/user.rb 中添加了以下内容
controller do
skip_before_filter :authenticate_user!
end
这也没有做任何事情。最后,我尝试在 application_controller.rb 中明确排除这两个控制器,但这也没有做任何事情。
before_filter :authenticate_user!, except: {controller: [:users, 'devise/sessions']}
如何解决这个相当烦人的问题?
【问题讨论】:
标签: devise ruby-on-rails-3.2 activeadmin redirect-loop