簡體   English   中英

注冊后重定向並使用2個模型登錄(Devise)

[英]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。 有任何想法嗎?

如果您有兩個分別用於UserAdmin模型,請執行以下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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM