http://railscasts.com/episodes/250-authentication-from-scratchをいじっていて、少しリファクタリングしようとすると問題が発生しました。
アプリは、次のように設定するだけでユーザーをログインさせます。
session[:user_id] = user.id
現在、これはコントローラーにあります。User オブジェクトに 2 つのメソッドが必要です。1 つはログインと呼ばれ、もう 1 つはログアウトと呼ばれます。つまり、ログインの実装を変更すると、コードを変更する場所が 1 つだけになり、コードが少し読みやすくなります。最も簡単な解決策は、明らかにこれをユーザー モデルに追加することです。
def login
session[:user_id] = user.id
end
誰もが知っているように、Rails モデルではセッションにアクセスできません。もちろん、アプリケーション コントローラーで 2 つのメソッドを作成してユーザー オブジェクトを渡すこともできますが、これは少し見苦しく思えます。この単純なユースケースを実現するための推奨される方法は何ですか?