diff options
author | Marcel Molina <marcel@vernix.org> | 2005-12-17 06:38:06 +0000 |
---|---|---|
committer | Marcel Molina <marcel@vernix.org> | 2005-12-17 06:38:06 +0000 |
commit | 39766a9b4cde8f75a5837442b876e1e11a16ece4 (patch) | |
tree | 0fdd15d674e64a1c1281e2cce7d6e0764b4cde5c /actionpack/lib | |
parent | 5f06c483ca6a0434409aa12ec272654bc26735dd (diff) | |
download | rails-39766a9b4cde8f75a5837442b876e1e11a16ece4.tar.gz rails-39766a9b4cde8f75a5837442b876e1e11a16ece4.tar.bz2 rails-39766a9b4cde8f75a5837442b876e1e11a16ece4.zip |
Don't include a layout when rendering an rjs template using render's :template option.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3316 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'actionpack/lib')
-rwxr-xr-x | actionpack/lib/action_controller/base.rb | 10 | ||||
-rw-r--r-- | actionpack/lib/action_controller/layout.rb | 2 |
2 files changed, 11 insertions, 1 deletions
diff --git a/actionpack/lib/action_controller/base.rb b/actionpack/lib/action_controller/base.rb index 9aab2c5028..c1adbf3b8a 100755 --- a/actionpack/lib/action_controller/base.rb +++ b/actionpack/lib/action_controller/base.rb @@ -937,7 +937,17 @@ module ActionController #:nodoc: end def default_template_name(default_action_name = action_name) + default_action_name = default_action_name.dup + strip_out_controller!(default_action_name) if template_path_includes_controller?(default_action_name) "#{self.class.controller_path}/#{default_action_name}" end + + def strip_out_controller!(path) + path.replace path.split('/', 2).last + end + + def template_path_includes_controller?(path) + path.to_s['/'] && self.class.controller_path.split('/')[-1] == path.split('/')[0] + end end end diff --git a/actionpack/lib/action_controller/layout.rb b/actionpack/lib/action_controller/layout.rb index d6a4789bef..3ec125f088 100644 --- a/actionpack/lib/action_controller/layout.rb +++ b/actionpack/lib/action_controller/layout.rb @@ -237,7 +237,7 @@ module ActionController #:nodoc: 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])) + !template_exempt_from_layout?(default_template_name(options[:action] || options[:template])) end def pick_layout(template_with_options, options, deprecated_layout) |