2011-07-29 4 views
0

私はしばらく時間がかかります。開始時には、ユーザーに「お待ちください...」と伝える必要があります。終了したら、「完了」と言わなければなりません。RailsからAJAXを使ってページを更新するには?

現在、私が設定した方法では、2重レンダリングエラーがスローされます。

コントローラ:

def do_work 
    render 'do_work.js' 
    . 
    . # takes a while... 
    . 
    . 
    redirect_to :action => :work_is_done 
end 

do_work.js.erb:

$("#status").text("please wait..."); 

これを行うための最善の方法は何ですか? Rails 3とjQueryで作業しています。

ありがとうございました。

答えて

2

あなたはdo_work.js

$("#status").text("please wait..."); 
window.setInterval(function(){ 
    window.location.replace(<%= escape_javascript work_is_done_url %>) 
}, 6000); 

6000からリダイレクトする必要があります - あなたはこのためという名前のルートwork_is_doneが必要になりますOFC機能が

UPD

をトリガーされるまでのミリ秒単位の時間です作業。

関連する問題