Action View Rendering

Methods
Public Instance methods
render(options = {}, locals = {}, &block)

Returns the result of a render that’s dictated by the options hash. The primary options are:

  • :partial - See ActionView::Partials.

  • :update - Calls update_page with the block given.

  • :file - Renders an explicit template file (this used to be the old default), add :locals to pass in those.

  • :inline - Renders an inline template similar to how it’s done in the controller.

  • :text - Renders the text passed in out.

If no options hash is passed or :update specified, the default is to render a partial and use the second parameter as the locals hash.

  # File actionpack/lib/action_view/render/rendering.rb, line 16
def render(options = {}, locals = {}, &block)
  case options
  when Hash
    if block_given?
      _render_partial(options.merge(:partial => options.delete(:layout)), &block)
    elsif options.key?(:partial)
      _render_partial(options)
    else
      template = _determine_template(options)
      lookup_context.freeze_formats(template.formats, true)
      _render_template(template, options[:layout], options)
    end
  when :update
    update_page(&block)
  else
    _render_partial(:partial => options, :locals => locals)
  end
end