Понимать концепцию current_user при создании сеанса входа в ruby
Я прохожу замечательный урок Майкла Хартла по созданию приложения rubyВот.
Я пытаюсь понять концепцию создания сеанса и застрял в понимании этой строки:
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.
But I don't understand what does self.current_user = user
means and why is it even necessary to keep this line of code - I have the cookie with the token - why do I need to know the current user?
Кроме того, где это "само"? хранится - это не похоже наflash[:success]
параметр, который я вижу в одном из моих представлений. так что я не понимаю, где это.
Есть также эти 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