2012-04-17 9 views
0

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

答えて

0

私はIEの問題としてこれをオフに書かなければなりませんでした。 IE用の標準のアップロードフォームと他のすべてのカスタム画像を使用して終了しました。

関連する問題