jQuery File Upload Plugin (https://github.com/blueimp/jQuery-File-Upload) を使用して、レールに複数の写真を同時にアップロードしました。写真がアイテム モデルに添付され、アイテムが投票に追加されます。
プラグインを次のように使用します。
$(document).ready(function(){
$('#fileupload').fileupload({
url: '/polls',
dataType: "json",
done: function(e,data){
window.location = "/polls/" + data.result.id;
}
}
});
すべてのファイルがアップロードされた後、各写真ファイルに対して投票コントローラーで作成アクションを呼び出し、作成された投票を表示するようにページをリダイレクトする必要がありました。ただし、たとえば、アップロードするファイルを 6 つ選択した場合、最初は投票ページに 4 枚の写真しか表示されませんでした。ページを更新した後、6 枚の写真が表示されました。問題はコールバック関数が原因であると推測しました。すべてのファイルのアップロードが完了する前に、投票ページにリダイレクトさ
れたようです。すべてのアップロード リクエストは正常に送信されるはずですが、すべてのアイテムが作成されたわけではありません (ペーパークリップが画像を処理するのに数秒かかる場合があります)。
この問題を解決するための提案はありますか? ありがとう
編集: http リクエストが成功するたびに、「完了」コールバック関数が実際に呼び出されたことを確認しました。すべてのリクエストが送信された後、呼び出されませんでした。そして、各写真ファイルに対して create アクションが呼び出されました。クライアント側またはサーバー側のいずれかで、すべてのファイルがアップロードされた後にのみコールバックする関数を作成するにはどうすればよいですか?