2013-08-25 112 views
0

我有一個問題(這個:How to pass multiple locals to a nested partial)與rails,並找出發生了什麼我需要調試rails內部。在rails框架內部調試Ruby on Rails框架內部

我需要了解哪些情況引發異常文件中

ActionPack的(3.2.14)的lib/ACTION_VIEW/template.rb

在線路:145

如何我可以調試框架嗎?我試圖使用logger.debug,但它不可用,我試着用puts,但控制檯沒有設置。

在此先感謝

+0

有可能,只需使用本地版本的Rails並在其中放置調試代碼即可。但這很少有必要。在大多數情況下,問題出在您自己的代碼中。你可以發佈你自己的代碼和錯誤信息,看看有人能幫忙。 –

+0

使用RubyMine IDE,有一個內部調試器 – Benj

回答

1

使用Pry gem!它是一個很好的調試工具,它易於安裝,並具有一些功能強大的功能。

只需將'pry'和'pry-debugger'gem添加到您的Gemfile(測試組)並運行bundle並重新啓動服務器。之後,您只需使用命令binding.pry在代碼中設置斷點即可。在你的情況,你會想在你的主視圖中添加斷點這一行:

<% binding.pry %> 

現在只是觸發請求,並在其上運行的服務器將停止終端,給你提示,您可以與互動代碼在rails控制檯中。你有一些標準的導航命令,比如'continue','next','step','finish'...你可以用'whereami'命令查看你周圍的代碼,或者列出方法和類的來源。

我建議看看這個Pry railscast關於如何使用Pry的更多信息。

+0

奇妙這是我正在尋找, 你有一個線索,我可以做一個「進入」,而不是'下一個'讓我在執行一個方法的內部? 非常感謝 –

+0

酷,很高興它幫助:) – jurglic

+0

這是「步」感謝.. –