ここで別の方法でこの質問をしましたが、答えが得られなかったので、これは非常に単純な問題のように見えるので、言い換えてみます。
Cookie ベースのセッションを使用する Rails アプリがあります。デフォルトでは、expires_at タイムスタンプがないため、セッション Cookie のスコープは「セッション」です。これはバニラの Rails セッションのものです。
ここで、15 分後にユーザーを追い出す「デモ ユーザー」機能を作成したいと考えています。これを達成するために、Time.now + 15.minutes のセッション Cookie に expires_at を設定したいと考えています。
session[:expires_at] = Time.now + 15.minutes
上記のコードは実行されますが、Cookie のスコープには影響しません。スコープは「セッション」のままです。スコープを「セッション」から日時に変更するにはどうすればよいですか?
production.rb でアプリケーション全体のセッションを構成すると、
:expire_after => 24時間
その後、動作します...しかし、問題は、セッション Cookie の有効期限を選択的に制御したいということです。
編集: session[:expires_at] を設定したときに Cookie のスコープに影響がない理由は、後続のリクエストがセッション Cookie を破壊し、それをセッションにリセットしているためです。それについて何をすべきかまだわかりません。