Zrozum pojęcie „current_user” podczas tworzenia sesji logowania w rubinie
Przechodzę przez świetny samouczek Michaela Hartla, aby zbudować aplikację rubytutaj.
Próbuję zrozumieć koncepcję tworzenia sesji i utknąłem w zrozumieniu tej linii:
self.current_user = user
w tej metodzie:
module SessionsHelper
def sign_in(user)
cookies.permanent[:remember_token] = user.remember_token
self.current_user = user
end
end
Rozumiem całą koncepcję tworzenia pliku cookie z tokenem użytkownika.
Ale nie rozumiem co self.current_user = user
oznacza i dlaczego konieczne jest nawet zachowanie tej linii kodu - mam plik cookie z tokenem - dlaczego muszę znać aktualnego użytkownika?
Ponadto, gdzie przechowywane jest to „ja” - to nie jestflash[:success]
parametr, który widzę w jednym z moich poglądów. więc nie rozumiem, gdzie to jest.
istnieją również te 2 metody w tym samym module:
def current_user=(user)
@current_user = user
end
def current_user
@current_user ||= User.find_by_remember_token(cookies[:remember_token])
end
I nadal próbuję połączyć kropki celu tego tajemniczegocurrent user
- czy jego celem jest tworzenie@current_user
zmienna globalna do użycia w widokach?
Jeśli tak - dlaczego istnieją te 2 zduplikowane funkcjedef current_user=(user)
idef current_user