我已经开始使用Devise进行自定义系统的Rails项目。但在我的场景中,还有一个管理部分。因此,管理员和普通用户都使用"用户"模型,由Devise创建。我添加了#34; is_admin"字段到具有迁移的模型。但这次我有两个主要问题。
首先,我需要在admin部分有一个登录页面,它将使用Devise的登录方法,如果用户自动验证并查找" is_admin"用于将用户重定向到管理页面的字段。
第二个是,应该有常规站点的另一个登录页面,人们会看到。这不会寻找" is_admin"字段并将使用常规的Devise登录表单。
Devise可以实现这些吗?
由于
答案 0 :(得分:0)
在应用程序控制器中放置一个after_sign_in函数,如下所示,检查用户角色,然后重定向
class ApplicationController < ActionController::Base
def after_sign_in_path_for(resource)
if resource.is_admin?
redirect_to admin_path
else
redirect_to user_path
end
end
end