2011-07-14 6 views
0

私は自分のアプリケーションでレポートを生成しています。ページを完全にロードするのに10〜20秒かかります。私はこれらのページの間に "Generating Report .. Please Wait .."のようなメッセージを表示する必要があります。また、単に待つのではなく、役に立つヒントを提供します。Rails:しばらくお待ちください..レポート生成ページ

レールでこれを行う方法は?誰もが考えている?

答えて

0

あなたにはいくつかのオプションがあります。最も簡単なのは、レポートページのAjaxコールを行うことです.Ajaxコールをトリガーする前に、「しばらくお待ちください...」というメッセージが表示され、待っている間にユーザーに表示させたいテキストがあれば、通話が正常に完了すると、ページの内容をレポートに置き換えます。

もう1つの方法は、Joel AZEMARなどのバックグラウンドジョブキューを使用することです。バックグラウンドジョブで行うレポート生成をトリガーしてすぐに戻り、「しばらくお待ちください...」ページをすべて表示しますヒント。同じページに、Javascriptのポーリングメカニズムを追加して、レポート生成の結果をサーバーに随時問い合わせます。

レポートが実際にCPU /メモリを大量に消費しているか、時間がかかるものでなければ、最初の方法を試してみることをおすすめします。