0

我有一个带有巨大数据库(数百 GB)的 Rails 应用程序,它有很多不同的选项来处理数据。在某些情况下,比如更改数据,这可以在我使用 Sidekiq 执行的后台任务中完成。但在其他情况下,例如查看具有大量行和列的数据或复杂的 SQL 查询,获取数据的过程需要相当长的时间。

我想要做的是向用户展示当他点击一个链接时正在发生的事情。就像许多浏览器都有的进度条一样,但更明显,所以即使是不习惯使用浏览器的用户也应该看到正在发生和加载的东西。

问题是如何做到这一点。我已经尝试过使用 AJAX 和 jQuery 的不同选项,但大多数时候我只能对某些操作执行此操作,但基本上我想为整个应用程序执行此操作。因此,每次用户发送加载新页面的请求时,我都想立即向他展示正在发生的事情。

我最接近的是 Javascript,它总是被触发。问题是它每次都会发生并被迫重新加载页面。这意味着当我切换一个元素时,它会显示进度条,然后重新加载页面。

本质上,我在寻找什么:

我的应用程序在 Ruby 和 Rails 4 上运行,每次加载新页面时,我都希望用户显示他的请求正在处理中,所以即使请求需要几秒钟,用户也不会紧张,因为他知道事情正在发生。

对于找到解决方案的任何帮助,我将不胜感激,因为我似乎找不到任何...

4

1 回答 1

0

You should use a javascript animation to show to the user that something is happening.

For example : http://ricostacruz.com/nprogress/

于 2013-10-01T07:14:18.047 回答