カピバラ/キュウリを使用して autoUpload オプションを有効にして jquery-file-upload プラグインをテストしようとしています。テスト環境でのアップロードは autoUpload オプションが設定されていない場合に機能するため、この問題は autoUpload オプションに関連しているようです。attach_file カピバラ メソッドでアップロードしています。このメソッドは change イベント リスナーをトリガーしますが、他にはあまりないようです。添付ファイルの作成アクションにヒットすることはありません。送信イベント リスナーを手動でトリガーしようとすると、作成アクションの params[:attachment] が空になり、添付ファイルを作成できません。
現在設定されている方法は次のとおりです。
- Project モデル、Attachments モデル、Issue モデルの 3 つのモデルがあります。
- 問題のインデックス ページには 2 つのフォームがあります。1 つは新しい添付ファイルの送信を処理するフォームで、もう 1 つは新しい問題の送信を処理するフォームです。
- 添付ファイルの作成アクションがトリガーされるたびに、jquery-file-upload は関連する課題に添付ファイルを追加するために必要なデータを JavaScript 経由で隠しフィールドに入力します。これは、jquery-file-upload からの fileuploadcompleted コールバックで行われます。
このアップロード方法は、ファイルを手動でアップロードしようとするたびに機能しますが、テスト環境では失敗します。非表示の送信ボタンを添付フォームに追加しようとしましたが、カピバラを介してそのボタンを押すと、作成アクションがトリガーされますが、パラメーターは再び空になります。どうしたらいいのか分からなくなってきたので、同じような悩みをお持ちの方がいらっしゃいましたら、お力添えいただければ幸いです。
それが役立つ場合は、関連するコードを次に示します。
jquery-file-upload の初期化と添付フォーム
使用する Gem:
Rails 3.2.12
Capybara 2.1.0
Capybara-webkit 1.0.0
Jquery-fileupload-rails 0.3.0 - 0.4.1 でもテスト、同じ結果
さらにコードやその他の情報が必要な場合はお知らせください。この投稿をすぐに編集できます。
ありがとう!