在Ruby on Rails上,我们如何在控制器内打印调试信息?

nop*_*ole 36 debugging ruby-on-rails

在PHP,CGI或RoR的View中,我们可以轻松打印出调试信息.如何在Controller中,我们怎么能只说print "hello world"(到网页输出)并返回继续查看,或者在那里停止控制器?

Pap*_*ipo 90

在控制器中,您可以:

render :text => @some_object.inspect
Run Code Online (Sandbox Code Playgroud)

但是你的视图不会呈现.

你也可以:

Rails.logger.debug("My object: #{@some_object.inspect}")
Run Code Online (Sandbox Code Playgroud)

并在log/development.log上运行tail以查看输出.

在视图中,推荐的方式是:

<%= debug(@some_object) %>
Run Code Online (Sandbox Code Playgroud)


Nik*_*bak 5

不知道print,但puts从来没有让我失望.您hello world将在控制台和日志中,并且正常流程将继续.
我理解正确吗?


Fla*_*tef 5

您可以在视图中进行调试:<%= debug @post %>。更多信息:http://guides.rubyonrails.org/debugging_rails_applications.html