問題一覧に戻る
中級コントローラー応用
問題30: セッション管理 - セッションの操作

Railsでセッションを使ってユーザーの状態を管理する方法を学習します。セッションを使用すると、HTTPリクエスト間でユーザー固有のデータを保存でき、ユーザー認証、ショッピングカート、ユーザー設定などの機能に不可欠です。Railsはセッションデータを安全に読み書きするためのハッシュのようなシンプルなインターフェースを提供します。

# セッションにユーザーIDを保存
def login(user)
[:user_id] = user.id
end

# セッションからユーザーIDを取得
def current_user
@current_user ||= User.find([:user_id]) if [:user_id]
end

# すべてのセッションデータをクリア
def logout

@current_user = nil
end