Ruby on Rails:在控制器中多次更新页面

时间:2010-09-13 20:50:53

标签: ruby-on-rails

所以我有一个相当长的控制器功能来执行各种任务,大约需要10-15秒。我希望能够在功能进行时更新用户的状态(进度条)。理想情况下,该函数被称为Ajax请求,然后在它进行时更新页面。除非您每个操作只能更新一次页面,否则这将有效。有任何想法吗?谢谢。

这就是我想在代码中做的事情:

def long_function
 updatePage "Starting long_function"
 #some code which take 5 seconds"
 updatePage "Finished with first part"
 #some more code which takes a while
 updatePage "Finished second part"
 #last code part
 updatePage "Finished!"
end

1 个答案:

答案 0 :(得分:3)

可能是这样的:触发后台任务并给它一个你返回的id。后台任务可以将消息写入标记有该ID的数据库,您可以使用另一个操作来long-poll获取消息,从而更新用户。最后一条消息就是答案。