2013-08-25 79 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

这是“步”感谢.. –