我正在使用設計來幫助我的身份驗證和各種原因我有幾個用戶模型的子類,有助於分開關注註冊和一些其他業務邏輯。設計用戶繼承和user_signed_in?和current_user
的User
的子類是Affiliate
和Admin
(和我可能會在未來更多),所有這些的所有數據存儲在用戶表(未單獨的表)。
所有用戶都可以通過默認的users
資源(/users/sign_in
)登錄。但是,這是我遇到問題的地方。
如果用戶跡象通過/users/sign_in
資源我可以訪問user_signed_in?
和current_user
助手,然後訪問任何其他活動記錄的關聯。這就是我要的!嗚呼!這很好。
但是,註冊爲Affiliate
的用戶也是如此。由於設計自動登錄用戶(我希望),我希望user_signed_in?
等於true
和current_user
是剛剛登錄的用戶。當用戶通過/affiliate/sign_up
資源註冊時,情況並非如此。
在Affiliate
模型(記住,它的子類用戶像這樣class Affiliate < User
)我已經產生(通過色器件)的一組單獨的控制器的/觀看次數sign_up所以我可以有點自主的修改處理(作爲sign_up過程有點更爲這種特定類型的用戶定製)。當用戶通過此資源/affiliate/sign_up
註冊時,會員隨後註冊,但是現在,current_user
是nil
和user_signed_in?
是false
。但是,助手current_affiliate
是水合物,affiliate_signed_in?
屬實。
我想要做的是能夠訪問一個類型的幫手 - 在user_signed_in?
幫手和助手current_user
不是孩子affiliate_signed_in?
和current_affiliate
。我只想訪問:current_user
和user_signed_in
。看到Affiliate
子類User
,爲什麼user_signed_in?
和current_user
返回當前用戶(又名:Affiliate
)?爲什麼current_affiliate
和affiliate_signed_in?
助手工作,但不是user
- 不是?
有沒有辦法讓框架始終使用current_user
和user_signed_in?
助手,因爲一切都是User
模型的子類?