inq*_*ive 2 ruby debugging ruby-on-rails
我想通过rails控制台打开irb打印的一些线条.我已经看到很多关于如何实现它的SO问题.但是我没有得到任何结果.
下面是代码 -
def show
puts 'in show method'
@post = Feed.find_by_id params[:id]
puts @post.inspect
redirect_to root_path unless @post.present?
end
Run Code Online (Sandbox Code Playgroud)
现在我已按命令打开服务器rails server.另外,在另一个终端我给出了命令rails console,它打开了irb提示符.当我在浏览器中运行localhost:3000/posts/82它时会给出正确的帖子,但控制台中没有显示任何内容.我错过了什么步骤?我想在调用特定方法时在控制台中打印一些东西.
调试的最佳方法是使用该debugger命令.
如果您使用的是ruby 2.0或更高版本,则必须使用gem 'byebug',如果您使用的是1.9或更低版本,则必须使用gem ruby-debug
然后,当您在开发模式下运行服务器时,服务器将在到达时停止,debugger允许您查看对象的状态并对其进行修改(比简单地使用更好)puts
程序将停在服务器运行的同一窗口中.
一些基本命令:
有关调试的更多信息:http://guides.rubyonrails.org/debugging_rails_applications.html