为 2 种身份验证模型设计登录/签出的不同视图 - 用户和管理员
Posted
技术标签:
【中文标题】为 2 种身份验证模型设计登录/签出的不同视图 - 用户和管理员【英文标题】:Different View for Devise sign_in/sign_out for 2 authentication model - User & Admin 【发布时间】:2016-03-15 05:33:29 【问题描述】:我制作了这个简单的测试应用程序,它有 2 种不同的身份验证模型 - 用户 - 行政 https://github.com/axilaris/admin_user_devise_articles
我想为用户和管理员设计不同的视图布局。我该如何自定义它。
例如:
localhost:3000/users/sign_in
应该不同于
localhost:3000/admins/sign_in
请随时修改我的 github 存储库以获得不同的 sign_in/sign_up 视图。谢谢。
【问题讨论】:
您是否了解如何生成设计视图,然后在 github 上的设计 wiki 中对其进行编辑? github.com/plataformatec/devise#configuring-views 您可能想要覆盖设计默认控制器和视图来实现这一点,然后在您的路由中指定要相应使用的正确控制器。 【参考方案1】:在应用程序控制器中,我添加了一个名为 after_sign_in_path_for 的方法,该方法检查角色并重定向到所需的视图 这是一个方法
def after_sign_in_path_for(resource)
if resource.has_role? :admin
users_path
else
root_path
end
end
希望对你有帮助
【讨论】:
【参考方案2】:基本上 Deep 有答案,就在这里:
github.com/plataformatec/devise#configuring-views
这样做:
rails 生成设计:查看用户
设置:
config/initializers/devise.rb 文件中的 config.scoped_views = true。
更新 git repo 以反映此功能。谢谢@Deep
【讨论】:
以上是关于为 2 种身份验证模型设计登录/签出的不同视图 - 用户和管理员的主要内容,如果未能解决你的问题,请参考以下文章
启用 2 因素身份验证时,如何通过 HTTPS 签出私有 github 存储库?