Namespace
Methods
R
V
Included Modules
Constants
DEFAULT_PROTECTED_INSTANCE_VARIABLES = [ :@_action_name, :@_response_body, :@_formats, :@_prefixes, :@_config, :@_view_context_class, :@_view_renderer, :@_lookup_context ]
 
Instance Public methods
render(*args, &block)

Normalize arguments, options and then delegates #render_to_body and sticks the result in self.response_body.

# File actionpack/lib/abstract_controller/rendering.rb, line 95
def render(*args, &block)
  options = _normalize_render(*args, &block)
  self.response_body = render_to_body(options)
end
render_to_body(options = {})

Raw rendering of a template. :api: plugin

# File actionpack/lib/abstract_controller/rendering.rb, line 118
def render_to_body(options = {})
  _process_options(options)
  _render_template(options)
end
render_to_string(*args, &block)

Raw rendering of a template to a string.

It is similar to render, except that it does not set the response_body and it should be guaranteed to always return a string.

If a component extends the semantics of response_body (as Action Controller extends it to be anything that responds to the method each), this method needs to be overridden in order to still return a string. :api: plugin

# File actionpack/lib/abstract_controller/rendering.rb, line 111
def render_to_string(*args, &block)
  options = _normalize_render(*args, &block)
  render_to_body(options)
end
view_assigns()

This method should return a hash with assigns. You can overwrite this configuration per controller. :api: public

# File actionpack/lib/abstract_controller/rendering.rb, line 138
def view_assigns
  hash = {}
  variables  = instance_variables
  variables -= protected_instance_variables
  variables -= DEFAULT_PROTECTED_INSTANCE_VARIABLES
  variables.each { |name| hash[name[1..-1]] = instance_variable_get(name) }
  hash
end
view_context()

An instance of a view class. The default view class is ActionView::Base

The view class must have the following methods: View.new[lookup_context, assigns, controller]

Create a new ActionView instance for a controller

View#render

Returns String with the rendered template

Override this method in a module to change the default behavior.

# File actionpack/lib/abstract_controller/rendering.rb, line 84
def view_context
  view_context_class.new(view_renderer, view_assigns, self)
end
view_context_class()
# File actionpack/lib/abstract_controller/rendering.rb, line 71
def view_context_class
  @_view_context_class ||= self.class.view_context_class
end
view_renderer()

Returns an object that is able to render templates.

# File actionpack/lib/abstract_controller/rendering.rb, line 89
def view_renderer
  @_view_renderer ||= ActionView::Renderer.new(lookup_context)
end