123456789_123456789_123456789_123456789_123456789_

Module: ActionView::Context

Relationships & Source Files
Extension / Inclusion / Inheritance Descendants
Included In:
ActionDispatch::DebugView, Base, TestCase, TestCase::Behavior
Defined in: actionview/lib/action_view/context.rb

Overview

Action View contexts are supplied to Action Controller to render a template. The default Action View context is Base.

In order to work with Action Controller, a Context must just include this module. The initialization of the variables used by the context (@output_buffer, @view_flow, and @virtual_path) is responsibility of the object that includes this module (although you can call _prepare_context defined below).

Instance Attribute Summary

Instance Method Summary

Instance Attribute Details

#output_buffer (rw)

[ GitHub ]

  
# File 'actionview/lib/action_view/context.rb', line 15

attr_accessor :output_buffer, :view_flow

#view_flow (rw)

[ GitHub ]

  
# File 'actionview/lib/action_view/context.rb', line 15

attr_accessor :output_buffer, :view_flow

Instance Method Details

#_layout_for(name = nil)

Encapsulates the interaction with the view flow so it returns the correct buffer on yield. This is usually overwritten by helpers to add more behavior.

[ GitHub ]

  
# File 'actionview/lib/action_view/context.rb', line 27

def _layout_for(name = nil)
  name ||= :layout
  view_flow.get(name).html_safe
end

#_prepare_context

Prepares the context by setting the appropriate instance variables.

[ GitHub ]

  
# File 'actionview/lib/action_view/context.rb', line 18

def _prepare_context
  @view_flow     = OutputFlow.new
  @output_buffer = ActionView::OutputBuffer.new
  @virtual_path  = nil
end