Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 来自运行任务的Rails动态进度条_Jquery_Ruby On Rails 3_Progress Bar_Activeadmin - Fatal编程技术网

Jquery 来自运行任务的Rails动态进度条

Jquery 来自运行任务的Rails动态进度条,jquery,ruby-on-rails-3,progress-bar,activeadmin,Jquery,Ruby On Rails 3,Progress Bar,Activeadmin,我有一个由浏览器调用的“长”任务。 我想做的是创建一个动态进度条,在同一页面或lightbox中显示“场景后面”任务的进度(不刷新页面) 我的想法是使用如下JQuery栏: 我的问题是: 如何从任务(在lib/中)调用JQuery(或通常的视图)来更新条 仅供参考,我也使用ActiveAdmin,这不仅仅是问题所在,因为它使用预编译视图 我会在控制器中创建一个新的REST操作(或者理想情况下重用现有的操作),为进度条提供信息 我还尝试每隔一段时间使用JQuery使用Ajax调用控制器 我认为这种

我有一个由浏览器调用的“长”任务。 我想做的是创建一个动态进度条,在同一页面或lightbox中显示“场景后面”任务的进度(不刷新页面)

我的想法是使用如下JQuery栏:

我的问题是:

如何从任务(在lib/中)调用JQuery(或通常的视图)来更新条


仅供参考,我也使用ActiveAdmin,这不仅仅是问题所在,因为它使用预编译视图

我会在控制器中创建一个新的REST操作(或者理想情况下重用现有的操作),为进度条提供信息

我还尝试每隔一段时间使用JQuery使用Ajax调用控制器

我认为这种面对进度条实现的方式比从lib任务调用视图更好

大概是这样的:


如果您不喜欢在客户端玩轮询,您可能会在HTML5中发现有趣的服务器事件。

我会在控制器中创建一个新的REST操作(或理想情况下重用现有的操作),以提供进度条的信息

我还尝试每隔一段时间使用JQuery使用Ajax调用控制器

我认为这种面对进度条实现的方式比从lib任务调用视图更好

大概是这样的:


如果您不喜欢在客户端玩轮询,您可能会在HTML5中发现有趣的服务器事件。

这是一篇不久前的文章,但如果它能帮助某人,那么有一个gem可以做到这一点。它似乎不再被维护,但它是如何实现所请求行为的一个很好的示例:


这是不久前的一篇文章,但如果它能帮助某人,那么有一种宝石可以做到这一点。它似乎不再被维护,但它是如何实现所请求行为的一个很好的示例:


此任务是REST操作还是Rake任务?@Rogier此任务是REST操作还是Rake任务?@Rogier此任务是解决方案的Rake任务+1,但我希望避免异步过程,如按setInterval+1调用函数,但我希望避免异步过程,如按setInterval调用函数
$(function() {
  setInterval(updateProgressBar, 1000);
});
function updateProgressBar() {
  //Invoke controller with ajax, and update progressBar
}