1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00

Fixes ActionController::Rendering#with_defaults

`env` is undefined.
This commit is contained in:
alpaca-tc 2017-03-08 18:54:52 +09:00
parent 4cb8cbd80b
commit c5f8fe9379
3 changed files with 17 additions and 1 deletions

View file

@ -1,3 +1,9 @@
* Fix `ActionController::Renderer#with_defaults` does not work
Fixes `NameError: undefined local variable or method `env'`.
*Hiroyuki Ishii*
* Added `#reverse_merge` and `#reverse_merge!` methods to `ActionController::Parameters`
*Edouard Chin*, *Mitsutaka Mimura*

View file

@ -56,7 +56,7 @@ module ActionController
# Create a new renderer for the same controller but with new defaults.
def with_defaults(defaults)
self.class.new controller, env, self.defaults.merge(defaults)
self.class.new controller, @env, self.defaults.merge(defaults)
end
# Accepts a custom Rack environment to render templates in.

View file

@ -19,6 +19,16 @@ class RendererTest < ActiveSupport::TestCase
assert_equal controller, renderer.controller
end
test "creating with new defaults" do
renderer = ApplicationController.renderer
new_defaults = { https: true }
new_renderer = renderer.with_defaults(new_defaults).new
content = new_renderer.render(inline: "<%= request.ssl? %>")
assert_equal "true", content
end
test "rendering with a class renderer" do
renderer = ApplicationController.renderer
content = renderer.render template: "ruby_template"