delayed_job gem を使用して、バックグラウンドで xls ファイルを生成します。この後、ファイルをユーザーに送信したいと思います。delayed_job クラスのコントローラーの外側で send_file メソッドを呼び出す方法はありますか?
質問する
866 次
1 に答える
4
タスクをdelayed_jobにバックグラウンドで送信している場合、ユーザーの要求は存在しなくなります。それがまだ存在する場合は、タスクをバックグラウンド処理する必要はまったくありません(バックグラウンド処理の目的全体が無効になるため)。
私の推奨事項は、delayed_jobがファイルを生成したら、対応するデータベースレコードとともにファイルをディスクに保存することです。ユーザーが待機している間、Ajaxにファイルの準備ができているかどうかをサーバーに時々尋ねさせます。準備ができたら、Ajaxを使用してファイルの新しいリクエストを作成したり、ダウンロードリンクを表示したり、その他の最適な方法を使用します。
于 2013-02-01T15:20:22.397 に答える