[英]Redirect After Sign Up and Sign In with 2 Models (Devise)
我的應用程序中有兩個模型:User和Admin。 因此,我將這些代碼放入我的應用程序控制器中:
def after_sign_in_path_for(user)
root_path
end
def after_sign_in_path_for(admin)
admin_path
end
但是,它僅執行最后一個(管理員)。 因此,無論何時我以用戶身份登錄,我都會被重定向到admin_path而不是應該的root_path。 有任何想法嗎?
如果您有兩個分別用於User
和Admin
模型,請執行以下User
:
def after_sign_in_path_for(resource)
resource.is_a?(Admin) ? admin_path : root_path
end
Ruby知道您正在重新定義after_sign_in_path_for
,因此最后一個定義將生效。
您可以像這樣簡單地修改您的代碼以使其工作:
def after_sign_in_path_for(user)
user.admin? ? admin_path : root_path
end
只要確定user.admin?
是用於檢查用戶是否具有管理員角色的功能!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.