データベースの集計を CSVファイルでダウンロードする処理が必要になった。 ファイルダウンロードには send_data を使う。 今回は、非同期処理するつもりはなかったが、集計の処理には10秒くらいかかるので、ボタンをクリックして10秒くらい待ってからダウンロードが始まるので、待ち時間に「しばらくお待ちください」を表示したい。 処理開始時にこれを表示して、ダウンロードが終わったらそれを消すという動きにしたかった。 ボタンをクリック→以下のJavaScript $("#message").html("しばらくお待ちください"); window.location.href = "<%= totaling_path %>"; //←集計してsend_dataするアクションのURL ↓ そして「集計してsend_dataするアクション」の最後にメッセージを消すためのレンダリングして完了! ところ
![Rails: send_data でダウンロードした後に表示更新する方法](https://cdn-ak-scissors.b.st-hatena.com/image/square/8d71ff5111e05619a10d29bb40d7aebaa75c8fbc/height=288;version=1;width=512/https%3A%2F%2Fs0.wp.com%2Fi%2Fblank.jpg)