跳至内容 跳至搜索

Action View 调试助手

提供一组方法,以便更容易调试 Rails 对象。

方法
D
包含模块

实例公有方法

调试(object)

返回用 <pre> 和 </pre> 包裹的 object 的 YAML 表示形式。如果对象不能使用 to_yaml 转换为 YAML,则将调用 inspect。在渲染时检查对象很有用。

@user = User.new({ username: 'testing', password: 'xyz', age: 42})
debug(@user)
# =>
<pre class='debug_dump'>--- !ruby/object:User
attributes:
  updated_at:
  username: testing
  age: 42
  password: xyz
  created_at:
</pre>
# File actionview/lib/action_view/helpers/debug_helper.rb, line 28
def debug(object)
  Marshal.dump(object)
  object = ERB::Util.html_escape(object.to_yaml)
  content_tag(:pre, object, class: "debug_dump")
rescue # errors from Marshal or YAML
  # Object couldn't be dumped, perhaps because of singleton methods -- this is the fallback
  content_tag(:code, object.inspect, class: "debug_dump")
end