Где хранятся переменные экземпляра в вспомогательном модуле Rails?

Учебное пособие, которому я следую, содержит в подкаталоге app/helpers нижеприведенный модуль SessionsHelper, который используется многими контроллерами и представлениями. Но где хранится переменная экземпляра current_user при ее первом создании? Каков класс объекта, в котором он хранится?

Когда контроллер впервые вызывает метод current_user, создается переменная экземпляра current_user. Когда представление затем вызывает метод current_user, как получается, что переменная экземпляра current_user уже присутствует? Установлено ли self на объект контроллера во время рендеринга вида?

module SessionsHelper
  ...
  def current_user
    @current_user ||= User.find_by_remember_token(cookies[:remember_token])
  end
  ...
end
10
задан user782220 2 April 2013 в 04:03
поделиться