diff options
author | Aaron Patterson <aaron.patterson@gmail.com> | 2019-02-11 17:24:24 -0800 |
---|---|---|
committer | Aaron Patterson <aaron.patterson@gmail.com> | 2019-02-11 17:55:59 -0800 |
commit | 2b6d2d20374130da469ece24842ce3b681d3b788 (patch) | |
tree | affbde8be64402578fbef1f5a15950e418e7b4fc /actionview/lib/action_view/template/handlers/erb/erubi.rb | |
parent | 9439a18bf76b3b7c759340abf0d7a5fb17fc82f7 (diff) | |
download | rails-2b6d2d20374130da469ece24842ce3b681d3b788.tar.gz rails-2b6d2d20374130da469ece24842ce3b681d3b788.tar.bz2 rails-2b6d2d20374130da469ece24842ce3b681d3b788.zip |
Turn lookup context in to a stack, push and pop if formats change
This commit keeps a stack of lookup contexts on the ActionView::Base
instance. If a format is passed to render, we instantiate a new lookup
context and push it on the stack, that way any child calls to "render"
will use the same format information as the parent. This also isolates
"sibling" calls to render (multiple calls to render in the same
template).
Fixes #35222 #34138
Diffstat (limited to 'actionview/lib/action_view/template/handlers/erb/erubi.rb')
-rw-r--r-- | actionview/lib/action_view/template/handlers/erb/erubi.rb | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/actionview/lib/action_view/template/handlers/erb/erubi.rb b/actionview/lib/action_view/template/handlers/erb/erubi.rb index 15ca202024..20510c3062 100644 --- a/actionview/lib/action_view/template/handlers/erb/erubi.rb +++ b/actionview/lib/action_view/template/handlers/erb/erubi.rb @@ -26,7 +26,7 @@ module ActionView view = Class.new(ActionView::Base) { include action_view_erb_handler_context._routes.url_helpers class_eval("define_method(:_template) { |local_assigns, output_buffer| #{src} }", @filename || "(erubi)", 0) - }.with_context(action_view_erb_handler_context) + }.empty view.run(:_template, {}, ActionView::OutputBuffer.new) end |