2013-03-07 10 views

Odpowiedz

23

dodać poniższą metodę w kontrolerze aplikacji

def redirect_to(options = {}, response_status = {}) 
    ::Rails.logger.error("Redirected by #{caller(1).first rescue "unknown"}") 
    super(options, response_status) 
end 

a następnie będzie można zobaczyć plik, nazwę metody, która wywołała 'redirect_to Call w pliku logu (zostanie on zalogowany)

np

Started GET "http://server.com/really_important_page" for 127.0.0.1 
Processing by HomeController#really_important_page as HTML 
Redirected by app/controllers/application_controller.rb:53:in `ensure_random_bugs' 
Redirected to https://server.com/not_the_page_you_wanted 
Completed 302 Found in 1ms 

ten zapisany mój dzień, więc chciałem podzielić się tu nadzieję, że okaże się przydatny :)

0

co z klejnotem debuggera?

następnie można wstawić debugger nigdzie w kodzie i wykonanie woli przestaje tam można śledzić przepływ naciskając n lub uzyskać pełny ConSol wpisując irb

+0

debugger gem jest również dobre, ale to zajmuje bardzo dużo czasu, kiedy masz dużo before_filters i metod, musisz ciągle pisać "next" zbyt wiele razy (1 dla każdego wiersza), więc ten oszczędza dużo czasu – Magesh

Powiązane problemy