Javascript 如何从Rails使用AJAX更新页面?

Javascript 如何从Rails使用AJAX更新页面?,javascript,jquery,ajax,ruby-on-rails-3,controller,Javascript,Jquery,Ajax,Ruby On Rails 3,Controller,我有一个动作需要一段时间才能完成。在开始时,它应该让用户知道“请稍候…”,然后,当完成时,它应该告诉他们“已完成” 目前,我设置它的方式会引发双重渲染错误 控制器: 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..."

我有一个动作需要一段时间才能完成。在开始时,它应该让用户知道“请稍候…”,然后,当完成时,它应该告诉他们“已完成”

目前,我设置它的方式会引发双重渲染错误

控制器:

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...");
最好的方法是什么? 在Rails3和jQuery中工作


谢谢。

您必须从
do\u work.js

$("#status").text("please wait...");
window.setInterval(function(){ 
  window.location.replace(<%= escape_javascript work_is_done_url %>) 
}, 6000);
$(“#状态”).text(“请稍候…”);
setInterval(函数(){
window.location.replace()
}, 6000);
6000-以毫秒为单位的时间,在此时间之后将触发该功能

upd

ofc您需要一个命名的路由
工作\u完成
才能工作