Uploadify with Rails 3を使用しています。フォームはIE以外のすべてのブラウザで動作します。セッションの一部が消去されました
セッションが完全に吹き飛ばされないように、私のcsrf変数を正しく設定しました。
<% key = Rails.application.config.session_options[:key] %>
var uploadify_script_data = {};
var csrf_param = $('meta[name=csrf-param]').attr('content');
var csrf_token = $('meta[name=csrf-token]').attr('content');
uploadify_script_data[csrf_param] = encodeURI(encodeURIComponent(csrf_token));
uploadify_script_data['<%= key %>'] = encodeURI(encodeURIComponent('<%= cookies[key] %>'));
$('#uploadify').uploadify({
...
scriptData : uploadify_script_data,
...
});
3段階のフォームで作業しているときに問題が発生します。 2番目のステップでは、必要なパラメータをセッション変数に保存します。すべてのステップで、paramsをセッション変数とマージして最新の状態に保ちます。
2番目の手順では、セッションが正常に機能しているように見えます(ログに出力し、すべての情報が表示されます)。これもアップロードの手順です。 ajax呼び出しを処理するコントローラーでは、セッションを印刷してセッションIDを確認して情報を作成できますが、私が使用しているobject_paramsは完全に空のハッシュにリセットされています。
{"session_id"=>"fa12222657a979c92daf1a04dcec7fa8", "_csrf_token"=>"YCN8BvE8+6Vxc2PWgpOvZBhYufKdsTfEnJVkbTSdWHI=", "warden.user.user.key"=>["User", [20], "$2a$10$JCkVLxybPQYclyp2t1gnpu"], "object_params"=>{}}
を繰り返しますが、これが唯一のIE8とIE9で起こる:
これは、アップローダを扱うコントローラからです。
これをデバッグする方法はありますか?
追加リソース:
Rails Carrier Wave with JQuery Uploader