Я немного сбит с толку из-за удобства использования сеттеров и геттеров внутри прикладного контроллера или помощника Rails 3.
Зачем кому-то использовать методы установки и получения в методе контроллера (или модуле), а не просто в переменной экземпляра. Может кто-нибудь привести пример?
Разумно ли использовать сеттеры и геттеры? И когда это требуется?
Например, в руководстве по Rubby on Rails 3 Майкла Хартла (стр. 347) говорится:
Модуль SessionsHelper
def current_user=(user)
@current_user = user
end
def current_user
@current_user ||= user_from_remember_token
end
Почему бы просто не использовать @current_user
во-первых.
Мой второй вопрос - что означает «я» внутри метода контроллера.
Например:
Class SessionsController < ApplicationController
def sign_in?
cookies.permanent.signed[:remember_token] = [user.id, user.salt]
self.current_user= user
end
end
Я знаю, что self внутри класса User Model относится к самому пользователю.
Но когда он находится внутри контроллера, к чему он относится?
Любой пример?
Спасибо