module AbstractController::Rendering
Constants
- DEFAULT_PROTECTED_INSTANCE_VARIABLES
Public Instance Methods
render(*args, &block)
click to toggle source
Normalize arguments, options and then delegates #render_to_body and sticks the result in self.response_body.
# File lib/abstract_controller/rendering.rb, line 86 def render(*args, &block) options = _normalize_render(*args, &block) self.response_body = render_to_body(options) end
render_to_body(options = {})
click to toggle source
Raw rendering of a template to a Rack-compatible body. :api: plugin
# File lib/abstract_controller/rendering.rb, line 101 def render_to_body(options = {}) _process_options(options) _render_template(options) end
render_to_string(*args, &block)
click to toggle source
Raw rendering of a template to a string. Just convert the results of render_response into a String. :api: plugin
# File lib/abstract_controller/rendering.rb, line 94 def render_to_string(*args, &block) options = _normalize_render(*args, &block) render_to_body(options) end
view_assigns()
click to toggle source
This method should return a hash with assigns. You can overwrite this configuration per controller. :api: public
# File lib/abstract_controller/rendering.rb, line 121 def view_assigns hash = {} variables = instance_variable_names variables -= protected_instance_variables variables -= DEFAULT_PROTECTED_INSTANCE_VARIABLES variables.each { |name| hash[name.to_s[1, name.length]] = instance_variable_get(name) } hash 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 new ActionView instance for a controller
Returns String with the rendered template
Override this method in a module to change the default behavior.
# File lib/abstract_controller/rendering.rb, line 75 def view_context view_context_class.new(view_renderer, view_assigns, self) end
view_context_class()
click to toggle source
# File lib/abstract_controller/rendering.rb, line 62 def view_context_class @_view_context_class ||= self.class.view_context_class end
view_renderer()
click to toggle source
Returns an object that is able to render templates.
# File lib/abstract_controller/rendering.rb, line 80 def view_renderer @_view_renderer ||= ActionView::Renderer.new(lookup_context) end