Module: ActionView::Helpers::DebugHelper
Relationships & Source Files | |
Extension / Inclusion / Inheritance Descendants | |
Included In:
| |
Super Chains via Extension / Inclusion / Inheritance | |
Instance Chain:
|
|
Defined in: | actionview/lib/action_view/helpers/debug_helper.rb |
Overview
Action View Debug Helpers
Provides a set of methods for making it easier to debug Rails objects.
Constant Summary
TagHelper
- Included
ARIA_PREFIXES, BOOLEAN_ATTRIBUTES, DATA_PREFIXES, PRE_CONTENT_STRINGS, TAG_TYPES
Instance Method Summary
-
#debug(object)
Returns a YAML representation of
object
wrapped with <pre> and </pre>.
TagHelper
- Included
#cdata_section | Returns a CDATA section with the given |
#class_names | Alias for TagHelper#token_list. |
#content_tag | Returns an HTML block tag of type |
#escape_once | Returns an escaped version of |
#tag | Returns an HTML tag. |
#token_list | Returns a string of tokens built from |
#build_tag_values, #ensure_valid_html5_tag_name, #tag_builder |
OutputSafetyHelper
- Included
#raw | This method outputs without escaping a string. |
#safe_join | This method returns an HTML safe string similar to what |
#to_sentence | Converts the array to a comma-separated sentence where the last element is joined by the connector word. |
CaptureHelper
- Included
#capture | The capture method extracts part of a template as a string object. |
#content_for | Calling |
#content_for? |
|
#provide | The same as |
#with_output_buffer | Use an alternate output buffer for the duration of the block. |
Instance Method Details
#debug(object)
Returns a YAML representation of object
wrapped with <pre> and </pre>. If the object cannot be converted to YAML using to_yaml
, inspect
will be called instead. Useful for inspecting an object at the time of rendering.
@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