我有一個模型「用戶」,正在使用會話。將未保存的模型傳遞到視圖
用戶在未登錄的情況下,可以修改會話中的User.new對象,而不實際保存用戶。
我想啓用尚未登錄的用戶來查看他們的用戶#顯示頁面。
這樣做的最好方法是什麼?
謝謝!
我有一個模型「用戶」,正在使用會話。將未保存的模型傳遞到視圖
用戶在未登錄的情況下,可以修改會話中的User.new對象,而不實際保存用戶。
我想啓用尚未登錄的用戶來查看他們的用戶#顯示頁面。
這樣做的最好方法是什麼?
謝謝!
在你的控制器,你可以做這樣的事情:
def show
@user = current_user || session[:current_user]
end
所以,你得到的CURRENT_USER如果有,如果沒有,您從會話讀取。
雖然在會話中存儲整個模型通常很糟糕。如果更改了底層類,那麼會話中的對象將不會正確解組,否則確保在對User類進行更改後使用reset_session
重置會話,否則會出現很多奇怪的錯誤。
以上答案適用。我正在尋找「基於會話的模型」模式。有一個Railscast on Session Based Models,我發現這個模式非常有幫助。