0
如果您觀看任何與Ryan Bates身份驗證相關的Railscast,則在創建簽名/簽出功能時會看到反覆出現的主題,並且我想更清楚地理解一點。在Rails中登錄會話助手
def current_user
@current_user ||= User.find(session[:user_id]) if session[:user_id]
end
helper_method :current_user
例如通常在會話控制器的創建操作將包含一個分配給會話散列如session[:user_id] = user.id
鑑於變量用戶被設置爲一個有效記錄的對象。
然後在整個視圖中使用上述幫手方法來查找當前登錄的用戶。
但是註銷時,銷燬行動中只包含session[:user_id] = nil
是不會@current_user
還需要我的問題設置爲零,因爲它會被設置爲在簽署之前的用戶線?
K謝謝!說得通。因此,只要頁面在下一個請求中重定向,就會再次載入「@ current_user」,而不是包含之前簽名用戶的user_id,而本質上是'@current_user = nil || User.find(session [:user_id])if session [:user_id]?' – rssathe 2013-02-28 23:58:36