Мне ужасно трудно понять, какая функция назначения необходима, как описано в глава 8.2.3. учебника Хартла.
В качестве контекста он сосредоточился на второй строке следующей функции sign_in
:
def sign_in(user)
cookies.permanent[:remember_token] = user.remember_token
self.current_user = user #<-- this line
end
Там, где он упоминает, что это назначение, оно должно быть определено отдельно как
def current_user=(user)
@current_user = user
end
Где метод current_user=
специально разработан для обработки назначения current_user
. Мои заблуждения:
Зачем это вообще нужно? Я думал, что простой
=
позволит вам назначать вещи. Напримерuser.email = [email protected]
Кроме того, когда в конце концов он будет кодировать
redirect_to current_user
, как то, что принадлежитSessionsController
, будет преобразовано в представление, контролируемоеUsersController
?
Спасибо!!