私は、アンケートをページに埋め込むサービスを提供しています。このアンケートでは、どこでもホストされているページから、自分のサーバーへのクロスドメインajax呼び出しが行われます。レールでのクロスドメインセッションの問題
サービスはレール3で実行されます。セッション内で最後に回答した質問のインデックスを保存しようとしています。 ActiveRecordストアがアクティブです。このサービスは英雄でホストされています。私はセッションテーブルを移行し、それをレイクしました。
ただし、値はセッションに保存されていません。これは私が回避できない問題か、セッションをこのようにすることは可能ですか?
ここで問題の実例です:
session current stage is 0
session current stage is 1
(セッション値が1になった後)、それは次回の実行時:
session current stage is 0
session current stage is 2
それとも
Rails.logger.info { "session current stage is #{session[:current_stage]}" }
session[:current_stage] = params[:current_stage].to_i
session[:current_stage] ||= 0
Rails.logger.info { "session current stage is #{session[:current_stage]}" }
出力は次のようになりますドメイン間の問題に関係なく、セッションが正常に機能していないということだけですか?
すぐに追加:サーバーがヒットしたたびに一意のセッションが作成され、次回は取得できないように見えます。これは、各呼び出しを新しい、前例のないイベントとして扱います。私はこれが私が行っているクロスドメインの副産物だと思う。どんな解決策ですか?
どのようなセッションを使用していますか?クッキー ? ActiveRecord?その他? – shingara
クロスドメインのajaxコールをどうやって作成しようとしていますか?これはすべてのメジャーなブラウザでデフォルトでは無効になっているので、このようにリクエストしてみるために何をしていますか? –
テスト中のブラウザでサードパーティのCookieが有効になっていますか? – molf