我是从 php 转到 ruby 的。 在 php 开发中,我经常使用 var_dump,print_r 打印变量进行调试。 直接在 web 页面就显示出变量值。 但是在 rails 中一直不得其法。 所以想问下 rails 里面有没有类似的方法。 能够直接在页面上显示变量值之类的方便调试。 谢谢!
通常输出 log 是输出到终端(启动 rails server 的终端):
# 控制器里
logger.info @user
需要更详细的信息:
# 控制器里
logger.info @user.inspect
一定要输出到页面就:
<!-- 页面里 -->
<%= @user.inspect %>
确实有很多的不同。 我用 php 直接在 controller 层就可以直接打印变量。 然后直接就显示在页面上了。
非常感谢两位。 特别是 Rei。很实用。 谢谢
group :development do
# For debugger
gem "pry-rails", "~> 0.3.2"
gem "pry-debugger", "~> 0.2.2"
# Quiet assets turn off rails assets log like:
# Started GET "/assets/jquery.js?body=1" for 127.0.0.1 at 2012-11-20 17:05:52 +0800
gem "quiet_assets", "~> 1.0.2"
# Better error page for Rails and other Rack apps
# https://github.com/charliesome/better_errors
gem "better_errors", git: 'https://github.com/charliesome/better_errors.git'
# Retrieve the binding of a method's caller. Can also retrieve bindings even further up the stack.
# better_errors use this to display local variables on error pages
gem "binding_of_caller"
end
常用配置。
用 gem debugger 或 gem byebug , 直接打印 params['id'] 等,又可以像 rails console 一样使用。但不知怎么 Tab 补全