我有一个可公开使用的rails应用程序,但有一个只有注册用户才能访问的管理仪表板。
我正在使用Thoughtbot Administrate作为仪表板部分,我正在尝试使用Clearance实现仪表板身份验证。
我的应用没有对公开部分进行任何身份验证,因此我将session_set_cookie_params()
行从include Clearance::Controller
移至ApplicationController
,并将登录/注销按钮放入导航栏中然而,当我点击登录按钮时,应用程序会向我显示我的应用程序的身份验证表单,而不是仪表板部分(我可以告诉因为所使用的样式两者都不同),所以我的问题是,是否存在一种只为管理部分安装许可的方法,比如只安装管理命名空间?
Admin::ApplicationController
的清除部分是:
rake routes
感谢您的帮助!
答案 0 :(得分:0)
听起来唯一的问题是Clearance控制器正在使用您的应用程序布局而不是您的管理布局。您可以覆盖它,它是documented in the README。
Clearance::PasswordsController.layout 'my_passwords_layout'
Clearance::SessionsController.layout 'my_sessions_layout'
Clearance::UsersController.layout 'my_admin_layout'
无论你想要什么。如果你想影响所有的清关视图,我认为你可以这样做:
Clearance::BaseController.layout 'my_admin_layout'