在调试问题时,当你拥有大量的gem和before_filters时,很难在rails应用程序中跟踪redirect_to。那么有没有一种方法可以更快地追踪它们?可用的任何方法或铁路助手?
答案 0 :(得分:30)
在应用程序控制器中添加以下方法
def redirect_to(options = {}, response_status = {})
::Rails.logger.error("Redirected by #{caller(1).first rescue "unknown"}")
super(options, response_status)
end
然后您将能够看到在日志文件中调用'redirect_to'调用的文件,方法名称(将被记录)
例如:
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
这节省了我的一天,所以想在这里分享,希望你觉得它很有用:)
答案 1 :(得分:0)
调试器宝石怎么样?
然后您可以在代码中的任何位置插入debugger
,执行将停在那里,您可以按流程n
或通过键入irb