Rails アプリを Rails 2 から Rails 4 に直接アップグレード中です/config/initializers/session_store.rb
。CookieStore を使用して新しいファイルを使用していますが、何らかの理由でセッションが保存されません。
の行に沿って何かをしようとすると、
render :text => "#{request.session_options[:id]}"
更新ごとに新しいセッション ID を取得します。
さまざまなブラウザーで試しましたが、すべて Cookie を受け入れるはずです。
何が起こっているのかわかりません。これらのセッションが持続しないのはなぜですか?!
編集:あなたの提案に感謝します。もう少し情報と、私が気付いたいくつかのことを以下に示します。
- まず、私のセットアップについて - Windows 7 マシンの Ubuntu VM で RVM を介して Rails 4/Ruby 2 でサーバーを実行しています。
- 私は Rails 2 からアップグレードしていますが、これは実際にはモデル/コントローラー/ビューなどにのみ適用されます。すべてのサポート インフラストラクチャに対して新しい Rails 4 アプリケーションを生成しました。
- セッションを設定してから表示するだけの同じVM上に別のアプリケーションを作成しましたが、それは正常に動作します。
- セッションが保存しているものは、ユーザーが何をしているかによってわずかに異なりますが、通常は単にユーザー ID (整数のみ) を保持し、場合によってはそれ以上を保持します (OAuth トークンを渡そうとしたときに、これが明らかになることに最初に気付きましたOAuth gem から。)
- VM のシステム クロックが Windows 7 ホスト マシンのクロックよりも遅れている場合、ユーザー ID セッションが保持されることに気付きました。これは、特に OAuth で他の問題を引き起こしますが、どこかに時間の問題があるようです。環境/development.rbからタイムゾーンを削除するなどのことを試みましたが、それは役に立ちませんでした.