module ActionView::Rendering
Attributes
rendered_format[R]
Public Class Methods
new()
click to toggle source
Calls superclass method
# File lib/action_view/rendering.rb, line 31 def initialize @rendered_format = nil super end
Public Instance Methods
render_to_body(options = {})
click to toggle source
# File lib/action_view/rendering.rb, line 101 def render_to_body(options = {}) _process_options(options) _render_template(options) end
view_context()
click to toggle source
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 newActionView
instance for a controller and we can also pass the arguments. -
View#render(option)
— Returns String with the rendered template.
Override this method in a module to change the default behavior.
# File lib/action_view/rendering.rb, line 91 def view_context view_context_class.new(lookup_context, view_assigns, self) end
view_context_class()
click to toggle source
# File lib/action_view/rendering.rb, line 77 def view_context_class self.class.view_context_class end
Private Instance Methods
_normalize_args(action = nil, options = {})
click to toggle source
Normalize args by converting render “foo” to render :action => “foo” and render “foo/bar” to render :template => “foo/bar”.
Calls superclass method
# File lib/action_view/rendering.rb, line 134 def _normalize_args(action = nil, options = {}) options = super(action, options) case action when NilClass when Hash options = action when String, Symbol action = action.to_s key = action.include?(?/) ? :template : :action options[key] = action else if action.respond_to?(:permitted?) && action.permitted? options = action elsif action.respond_to?(:render_in) options[:renderable] = action else options[:partial] = action end end options end
_normalize_options(options)
click to toggle source
Normalize options.
Calls superclass method
# File lib/action_view/rendering.rb, line 158 def _normalize_options(options) options = super(options) if options[:partial] == true options[:partial] = action_name end if (options.keys & [:partial, :file, :template]).empty? options[:prefixes] ||= _prefixes end options[:template] ||= (options[:action] || action_name).to_s options end
_process_format(format)
click to toggle source
Assign the rendered format to look up context.
Calls superclass method
# File lib/action_view/rendering.rb, line 127 def _process_format(format) super lookup_context.formats = [format.to_sym] if format.to_sym end
_render_template(options)
click to toggle source
Find and render a template based on the options given.
# File lib/action_view/rendering.rb, line 108 def _render_template(options) variant = options.delete(:variant) assigns = options.delete(:assigns) context = view_context context.assign assigns if assigns lookup_context.variants = variant if variant rendered_template = context.in_rendering_context(options) do |renderer| renderer.render_to_object(context, options) end rendered_format = rendered_template.format || lookup_context.formats.first @rendered_format = Template::Types[rendered_format] rendered_template.body end