@@ -38,24 +38,27 @@ def inherited(klass)
3838 # render :show
3939 # # => renders app/views/posts/show.html.erb
4040 #
41- # If the first argument responds to `render_in`, the template will be rendered
42- # by calling `render_in` with the current view context.
41+ # If the first argument responds to +render_in+, the template will be
42+ # rendered by calling +render_in+ with the current view context, render
43+ # options, and block.
4344 #
4445 # class Greeting
45- # def render_in(view_context)
46- # view_context.render html: "<h1>Hello, World</h1>"
46+ # def render_in(view_context, **)
47+ # if block_given?
48+ # view_context.render(html: yield)
49+ # else
50+ # view_context.render(inline: <<~ERB.strip, **)
51+ # <%= Hello, <%= local_assigns.fetch(:name, "World") %>
52+ # ERB
53+ # end
4754 # end
4855 #
49- # def format
50- # :html
51- # end
52- # end
53- #
54- # render(Greeting.new)
55- # # => "<h1>Hello, World</h1>"
56- #
57- # render(renderable: Greeting.new)
58- # # => "<h1>Hello, World</h1>"
56+ # render(Greeting.new) # => "Hello, World"
57+ # render(renderable: Greeting.new) # => "Hello, World"
58+ # render(Greeting.new, name: "Local") # => "Hello, Local"
59+ # render(renderable: Greeting.new, locals: { name: "Local" }) # => "Hello, Local"
60+ # render(Greeting.new) { "Hello, Block" } # => "Hello, Block"
61+ # render(renderable: Greeting.new) { "Hello, Block" } # => "Hello, Block"
5962 #
6063 # #### Rendering Mode
6164 #
@@ -112,13 +115,15 @@ def inherited(klass)
112115 #
113116 # `:renderable`
114117 # : Renders the provided object by calling `render_in` with the current view
115- # context. The response format is determined by calling `format` on the
116- # renderable if it responds to `format`, falling back to `text/html` by
117- # default.
118+ # context, render options, and block . The response format is determined by
119+ # calling `format` on the renderable if it responds to `format`, falling
120+ # back to `text/html` by default.
118121 #
119122 # render renderable: Greeting.new
120123 # # => renders "<h1>Hello, World</h1>"
121124 #
125+ # render renderable: Greeting.new, locals: { name: "Local" }
126+ # # => renders "<h1>Hello, Local</h1>"
122127 #
123128 # By default, when a rendering mode is specified, no layout template is
124129 # rendered.
0 commit comments