1

delayed_job gem を使用して、バックグラウンドで xls ファイルを生成します。この後、ファイルをユーザーに送信したいと思います。delayed_job クラスのコントローラーの外側で send_file メソッドを呼び出す方法はありますか?

4

1 に答える 1

4

タスクをdelayed_jobにバックグラウンドで送信している場合、ユーザーの要求は存在しなくなります。それがまだ存在する場合は、タスクをバックグラウンド処理する必要はまったくありません(バックグラウンド処理の目的全体が無効になるため)。

私の推奨事項は、delayed_jobがファイルを生成したら、対応するデータベースレコードとともにファイルをディスクに保存することです。ユーザーが待機している間、Ajaxにファイルの準備ができているかどうかをサーバーに時々尋ねさせます。準備ができたら、Ajaxを使用してファイルの新しいリクエストを作成したり、ダウンロードリンクを表示したり、その他の最適な方法を使用します。

于 2013-02-01T15:20:22.397 に答える