2012-05-10 10 views
2

Rails 3.2.2でUploadify 3.1を使用しています。 Authlogicを使用して認証を処理します。 Authlogicは、要求を出したユーザーに与えるcurrent_userメソッドを提供します。Authlogicを使用したRails 3.2.2でのUploadify 3.1からのリクエストは、current_userを生成しません。

Uploadify 3.1でファイルをアップロードしようとすると、アクションで検索するとcurrent_userが設定されず、nilと表示されます。これは、Uploadify 2.1.4では発生しませんでした。ここで私はアップロードの呼び出し方法です:

jQuery('#something').uploadify({ 

     uploader  : '#{some_path_from_rails_routes}', 
     swf    : '/uploadify/uploadify.swf', 
     cancelImg  : '/uploadify/cancel.png', 
     fileTypeDesc : 'FileNames', 
     auto   : true, 
     removeCompleted : false, 
     buttonText  : 'Some Label', 
     formData  : { 
     '_http_accept': 'application/javascript', 
     '#{session_key_name}' : encodeURIComponent('#{u(cookies[session_key_name])}'), 
     'authenticity_token' : encodeURIComponent('#{u(form_authenticity_token)}'), 
     } 
}); 

どのような考えですか?ありがとう!

答えて

0

Uploadifyのフラッシュコンポーネントは、Railsがセッションに使用するものとは異なるCookieストレージを使用します。この問題を回避するにはflash_cookie_session gemを使用できます。これは、現在のバージョン3.1.1.1のように、uploadifyレールの宝石に組み込まれています

{ 
    "<%= key = Rails.application.config.session_options[:key] %>" : "<%= cookies[key] %>" 
    "<%= request_forgery_protection_token %>" : "<%= form_authenticity_token %>", 
} 
+0

:あなたはこのような何かにあなたのformDataを変更する必要がありますように、そのマニュアルから

は、それが見えます。 uploadify-railsの前にGemfileにflash_cookie_sessionを含めれば、あなたのためにすべてのものを処理します。 –

+0

@IsaacBeteshはアップロードするレールの宝石ですか?これは2年前にアップロードされていない空のシェルのようです - https://github.com/nragaz/uploadify-rails – JoshL

+0

Filip Tepper's:https://github.com/filiptepper/uploadify-rails(これはrubygems.orgで見つけられるものです) –

関連する問題