1

在我正在构建的站点中,复杂的页面需要 > 1 秒才能在浏览器中加载。简单的只需不到一秒钟。

在渲染任何页面之前,如何让 Rails 进入睡眠状态( 1.second - processing_time() )。

这个想法是给用户一个一致的等待时间。(任何页面都不应在 1 秒内到达浏览器)

有没有可以帮助我解决这个问题的宝石?(我在轨道上 4)

4

1 回答 1

0

我想你可以做这样的事情:

class MyController < ApplicationController

  def show
    sleep 1
    # Do something
  end
end

在此处阅读有关 Ruby 睡眠的更多信息:http: //apidock.com/ruby/Kernel/sleep

如果您在整个 Rails 应用程序中执行此操作,我会将其放入您的应用程序控制器并重用它。例如:

class ApplicationController
  ...

  def sleep_one_second
    sleep 1
  end
end

在您的控制器中,选择要延迟的操作:

class MyController < ApplicationController

  before_action :sleep_one_second, only: [:show, :index]

  ...
end
于 2015-11-24T15:02:34.690 回答