在Rails中显示页面加载时间3

时间:2010-11-15 19:22:00

标签: ruby-on-rails ruby-on-rails-3 actionview

如何在视图中显示页面加载时间,类似于日志文件显示“在19ms内完成200 OK(视图:16.8ms |模型:0.497ms)”

4 个答案:

答案 0 :(得分:15)

您可能希望更好地使用Seconds:

class ApplicationController < ActionController::Base

  before_filter :set_start_time

  def set_start_time
    @start_time = Time.now.to_f
  end

end

查看代码:

Page Rendered in <%= sprintf('%.3f', (Time.now.to_f - @start_time) ) %> seconds

答案 1 :(得分:10)

你可以这样做..将一个before_filter添加到你的application_controller:

class ApplicationController < ActionController::Base
  protect_from_forgery
  before_filter :init

  def init
    @start_time = Time.now
  end
end
视图中的

(我正在使用HAML):

load_time=#{Time.now-@start_time} seconds

这与您在日志中看到的时间不完全相同,因为它只是从before_filter到它在视图中调用的地方,但它应该是关闭的。

答案 2 :(得分:0)

只需浏览下面的铁路视频,您就会了解所有相关的详细信息。

http://railscasts.com/episodes/368-miniprofiler?view=asciicast

答案 3 :(得分:0)

您可以使用rack-mini-profiler在页面顶部添加一个小徽章,显示渲染速度的所有细节。