2010-11-15 11 views

Répondre

14

Vous pouvez utiliser secondes plus:

class ApplicationController < ActionController::Base 

    before_filter :set_start_time 

    def set_start_time 
    @start_time = Time.now.to_f 
    end 

end 

Afficher le code:

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

Cela se traduira souvent par des valeurs négatives, puisque 'usec' revient à zéro toutes les secondes. –

10

Vous pouvez le faire .. ajouter un before_filter à votre application_controller:

class ApplicationController < ActionController::Base 
    protect_from_forgery 
    before_filter :init 

    def init 
    @start_time = Time.now 
    end 
end 

dans la vue (je me sers HAML):

load_time=#{[email protected]_time} seconds 

cela ne va pas être exactement le même que le temps vous voyez dans les journaux, puisque je Ce n'est que du before_filter à l'endroit où il a été appelé dans la vue, mais il devrait être proche.

+0

et bien sûr, c'est un peu laide dans la vue, juste en montrant cela pour plus de simplicité. Vous voudriez mettre cela dans une aide – johnmcaliley

+0

Assez proche pour moi! Merci!!! –

0

Il suffit d'aller dans la vidéo ci-dessous railcast vous aurez la chance de connaître tous les détails concernés.

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

Vous pouvez utiliser rack-mini-profiler qui ajoute un petit insigne en haut de la page montrant tous les détails de la vitesse de rendu.