instance method render

Ruby on Rails 6.1.7.10

Since v5.2.8.1

Available in: v5.2.8.1 v6.0.6 v6.1.7.10 v7.0.10 v7.1.6 v7.2.3 v8.0.4 v8.1.2

Signature

render(*args)

Render templates with any options from ActionController::Base#render_to_string.

The primary options are:

  • :partial - See ActionView::PartialRenderer for details.

  • :file - Renders an explicit template file. Add :locals to pass in, if so desired. It shouldn’t be used directly with unsanitized user input due to lack of validation.

  • :inline - Renders an ERB template string.

  • :plain - Renders provided text and sets the content type as text/plain.

  • :html - Renders the provided HTML safe string, otherwise performs HTML escape on the string first. Sets the content type as text/html.

  • :json - Renders the provided hash or object in JSON. You don’t need to call .to_json on the object you want to render.

  • :body - Renders provided text and sets content type of text/plain.

If no options hash is passed or if :update is specified, then:

If an object responding to render_in is passed, render_in is called on the object, passing in the current view context.

Otherwise, a partial is rendered using the second parameter as the locals hash.

Parameters

args rest
Source
# File actionpack/lib/action_controller/renderer.rb, line 91
    def render(*args)
      raise "missing controller" unless controller

      request = ActionDispatch::Request.new @env
      request.routes = controller._routes

      instance = controller.new
      instance.set_request! request
      instance.set_response! controller.make_response!(request)
      instance.render_to_string(*args)
    end

Defined in actionpack/lib/action_controller/renderer.rb line 91 · View on GitHub · Improve this page · Find usages on GitHub

Defined in ActionController::Renderer

Type at least 2 characters to search.

↑↓ navigate · open · esc close