mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Make rjs templates always implicitly skip out on layouts.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3084 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
This commit is contained in:
parent
97d5f4acdf
commit
62fe5bbfb1
4 changed files with 19 additions and 9 deletions
|
@ -1,5 +1,7 @@
|
|||
*SVN*
|
||||
|
||||
* Make rjs templates always implicitly skip out on layouts. [Marcel Molina Jr.]
|
||||
|
||||
* Correct length for the truncate text helper. #2913 [Stefan Kaes]
|
||||
|
||||
* Update to Prototype 1.4.0_rc3. Closes #1893, #2505, #2550, #2748, #2783. [Sam Stephenson]
|
||||
|
|
|
@ -637,10 +637,11 @@ module ActionController #:nodoc:
|
|||
end
|
||||
|
||||
def render_action(action_name, status = nil, with_layout = true)
|
||||
if with_layout
|
||||
render_with_layout(default_template_name(action_name), status)
|
||||
template = default_template_name(action_name)
|
||||
if with_layout && !template_exempt_from_layout?(template)
|
||||
render_with_layout(template, status)
|
||||
else
|
||||
render_with_no_layout(default_template_name(action_name), status)
|
||||
render_without_layout(template, status)
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -919,6 +920,10 @@ module ActionController #:nodoc:
|
|||
@template.file_public?(template_name)
|
||||
end
|
||||
|
||||
def template_exempt_from_layout?(template_name = default_template_name)
|
||||
@template.javascript_template_exists?(template_name)
|
||||
end
|
||||
|
||||
def assert_existance_of_template_file(template_name)
|
||||
unless template_exists?(template_name) || ignore_missing_templates
|
||||
full_template_path = @template.send(:full_template_path, template_name, 'rhtml')
|
||||
|
|
|
@ -229,11 +229,13 @@ module ActionController #:nodoc:
|
|||
|
||||
private
|
||||
def apply_layout?(template_with_options, options)
|
||||
if template_with_options
|
||||
(options.has_key?(:layout) && options[:layout]!=false) || options.values_at(:text, :file, :inline, :partial, :nothing).compact.empty?
|
||||
else
|
||||
true
|
||||
template_with_options ? candidate_for_layout?(options) : !template_exempt_from_layout?
|
||||
end
|
||||
|
||||
def candidate_for_layout?(options)
|
||||
(options.has_key?(:layout) && options[:layout] != false) ||
|
||||
options.values_at(:text, :file, :inline, :partial, :nothing).compact.empty? &&
|
||||
!template_exempt_from_layout?(default_template_name(options[:action]))
|
||||
end
|
||||
|
||||
def pick_layout(template_with_options, options, deprecated_layout)
|
||||
|
|
|
@ -192,7 +192,8 @@ class NewRenderTestController < ActionController::Base
|
|||
"partial_only", "partial_only_with_layout",
|
||||
"accessing_params_in_template",
|
||||
"accessing_params_in_template_with_layout",
|
||||
"render_with_explicit_template"
|
||||
"render_with_explicit_template",
|
||||
"test_rendering_rjs_action_explicitly"
|
||||
"layouts/standard"
|
||||
when "builder_layout_test"
|
||||
"layouts/builder"
|
||||
|
|
Loading…
Reference in a new issue