Revert "Merge pull request #19685 from vngrs/actionview_parent_layout_bug"

This reverts commit a9d58c77da, reversing
changes made to 041c2c879a.

Reason: The old behavior is how it was working in previous version of
Rails since 4.0.x so it is not safe to backport to a stable branch.

See https://github.com/rails/rails/issues/19626#issuecomment-89862258
and https://github.com/rails/rails/pull/15050#issuecomment-45333449
This commit is contained in:
Rafael Mendonça França 2015-06-02 20:57:54 -03:00
parent 4519727cdb
commit 8193a09a1f
2 changed files with 8 additions and 31 deletions

View File

@ -315,25 +315,16 @@ module ActionView
name_clause
end
if self._layout_conditions.empty?
self.class_eval <<-RUBY, __FILE__, __LINE__ + 1
def _layout
self.class_eval <<-RUBY, __FILE__, __LINE__ + 1
def _layout
if _conditional_layout?
#{layout_definition}
else
#{name_clause}
end
private :_layout
RUBY
else
self.class_eval <<-RUBY, __FILE__, __LINE__ + 1
def _layout
if _conditional_layout?
#{layout_definition}
else
#{name_clause}
end
end
private :_layout
RUBY
end
end
private :_layout
RUBY
end
private

View File

@ -122,14 +122,6 @@ class PrependsViewPathController < LayoutTest
end
end
class ParentController < LayoutTest
layout 'item'
end
class ChildController < ParentController
layout 'layout_test', only: :hello
end
class OnlyLayoutController < LayoutTest
layout 'item', :only => "hello"
end
@ -233,12 +225,6 @@ class LayoutSetInResponseTest < ActionController::TestCase
get :hello
assert_equal "layout_test.erb hello.erb", @response.body.strip
end
def test_respect_to_parent_layout
@controller = ChildController.new
get :goodbye
assert_includes @response.body, 'item.erb'
end
end
class SetsNonExistentLayoutFile < LayoutTest