Я пытаюсь создать урезанную систему пользовательских сессий и пытался смоделировать ее так, чтобы она была похожа на authlogic.
class UserSession
attr_accessor :username
def initialize(params={})
@username = params[:username]
end
def new_record?
true
end
def self.find
return nil if session[:username].nil?
UserSession.new session[:username]
end
def save
session[:username] = username
session[:username] == username
end
def user
User.find :first, :conditions => { :username => username }
end
def destroy
session[:username] = nil
end
end
Я знаю, что нет паролей или чего-то еще, но давайте отложим это на минуту. Моя проблема в том, что, по-видимому, это не так просто и плохо, чтобы получить доступ к сессии из модели. Что заставляет меня задуматься, как именно я должен абстрагироваться от создания пользовательских сеансов в качестве модели, если я не могу получить доступ к сеансу?