mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Fix layouts with absolute paths [#2134 state:resolved]
Signed-off-by: Joshua Peek <josh@joshpeek.com>
This commit is contained in:
parent
5b7527ca44
commit
3191535ff0
2 changed files with 11 additions and 2 deletions
|
@ -913,7 +913,6 @@ module ActionController #:nodoc:
|
|||
layout = pick_layout(options)
|
||||
response.layout = layout.path_without_format_and_extension if layout
|
||||
logger.info("Rendering template within #{layout.path_without_format_and_extension}") if logger && layout
|
||||
layout = layout.path_without_format_and_extension if layout
|
||||
|
||||
if content_type = options[:content_type]
|
||||
response.content_type = content_type.to_s
|
||||
|
|
|
@ -79,6 +79,10 @@ end
|
|||
class DefaultLayoutController < LayoutTest
|
||||
end
|
||||
|
||||
class AbsolutePathLayoutController < LayoutTest
|
||||
layout File.expand_path(File.expand_path(__FILE__) + '/../../fixtures/layout_tests/layouts/layout_test.rhtml')
|
||||
end
|
||||
|
||||
class HasOwnLayoutController < LayoutTest
|
||||
layout 'item'
|
||||
end
|
||||
|
@ -137,12 +141,18 @@ class LayoutSetInResponseTest < ActionController::TestCase
|
|||
ensure
|
||||
ActionController::Base.exempt_from_layout.delete(/\.rhtml$/)
|
||||
end
|
||||
|
||||
|
||||
def test_layout_is_picked_from_the_controller_instances_view_path
|
||||
@controller = PrependsViewPathController.new
|
||||
get :hello
|
||||
assert_equal 'layouts/alt', @response.layout
|
||||
end
|
||||
|
||||
def test_absolute_pathed_layout
|
||||
@controller = AbsolutePathLayoutController.new
|
||||
get :hello
|
||||
assert_equal "layout_test.rhtml hello.rhtml", @response.body.strip
|
||||
end
|
||||
end
|
||||
|
||||
class RenderWithTemplateOptionController < LayoutTest
|
||||
|
|
Loading…
Reference in a new issue