ここでrubyアプリを作成するために、MichaelHartlのすばらしいチュートリアルを実行しています。
私はセッションを作成する方法の概念を理解しようとしていますが、この行を理解するのに行き詰まっています:
self.current_user = user
この方法では:
module SessionsHelper
def sign_in(user)
cookies.permanent[:remember_token] = user.remember_token
self.current_user = user
end
end
user_tokenを使用してCookieを作成するという概念全体を理解しています。
しかし、私は何を意味するのか理解できず self.current_user = user
、なぜこのコード行を保持する必要があるのですか?トークンを含むCookieを持っています-なぜ現在のユーザーを知る必要があるのですか?
また、この「自己」はどこに保存されていますか?これはflash[:success]
、私のビューの1つで見ることができるパラメーターのようなものではありません。だからどこにあるのかわかりません。
同じモジュールには、次の2つのメソッドもあります。
def current_user=(user)
@current_user = user
end
def current_user
@current_user ||= User.find_by_remember_token(cookies[:remember_token])
end
それでも私はこの神秘的な目的の点をつなげようとしていますcurrent user
-その目的は@current_user
ビューで使用するグローバル変数を作成することですか?
もしそうなら-なぜこれらの2つの重複した関数がdef current_user=(user)
あり、def current_user