Module: ActionView::Context

Includes:
CompiledTemplates
Included in:
Base, TestCase::Behavior
Defined in:
lib/action_view/context.rb

Overview

Action View Context

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

In order to work with ActionController, 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 collapse

Instance Method Summary collapse

Instance Attribute Details

#output_bufferObject

Returns the value of attribute output_buffer.



19
20
21
# File 'lib/action_view/context.rb', line 19

def output_buffer
  @output_buffer
end

#view_flowObject

Returns the value of attribute view_flow.



19
20
21
# File 'lib/action_view/context.rb', line 19

def view_flow
  @view_flow
end

Instance Method Details

#_layout_for(name = nil) ⇒ Object

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.



31
32
33
34
# File 'lib/action_view/context.rb', line 31

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

#_prepare_contextObject

Prepares the context by setting the appropriate instance variables.



22
23
24
25
26
# File 'lib/action_view/context.rb', line 22

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