aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_view
diff options
context:
space:
mode:
authorDavid Heinemeier Hansson <david@loudthinking.com>2006-03-12 01:56:55 +0000
committerDavid Heinemeier Hansson <david@loudthinking.com>2006-03-12 01:56:55 +0000
commit6e3e5cadfbd7db407364bf2571a5003cf3733480 (patch)
treecee5b1b08e026a7a7e679fdf5b7d42236f9eea07 /actionpack/lib/action_view
parent8e8b6b9e403cdeb57d0ba373bff6498dc7f9f5df (diff)
downloadrails-6e3e5cadfbd7db407364bf2571a5003cf3733480.tar.gz
rails-6e3e5cadfbd7db407364bf2571a5003cf3733480.tar.bz2
rails-6e3e5cadfbd7db407364bf2571a5003cf3733480.zip
Added option to render action/template/file of a specific extension (and here by template type). This means you can have multiple templates with the same name but a different extension [DHH]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3841 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'actionpack/lib/action_view')
-rw-r--r--actionpack/lib/action_view/base.rb20
1 files changed, 16 insertions, 4 deletions
diff --git a/actionpack/lib/action_view/base.rb b/actionpack/lib/action_view/base.rb
index 2f0eaf367c..d2f4764575 100644
--- a/actionpack/lib/action_view/base.rb
+++ b/actionpack/lib/action_view/base.rb
@@ -216,8 +216,14 @@ module ActionView #:nodoc:
@first_render = template_path if @first_render.nil?
if use_full_path
- template_extension = pick_template_extension(template_path)
- template_file_name = full_template_path(template_path, template_extension)
+ template_path_without_extension, template_extension = template_path.split('.')
+
+ if template_extension
+ template_file_name = full_template_path(template_path_without_extension, template_extension)
+ else
+ template_extension = pick_template_extension(template_path)
+ template_file_name = full_template_path(template_path, template_extension)
+ end
else
template_file_name = template_path
template_extension = template_path.split('.').last
@@ -324,8 +330,14 @@ module ActionView #:nodoc:
end
def file_exists?(template_path)#:nodoc:
- %w(erb builder javascript delegate).any? do |template_type|
- send("#{template_type}_template_exists?", template_path)
+ template_file_name, template_file_extension = template_path.split(".")
+
+ if template_file_extension
+ template_exists?(template_file_name, template_file_extension)
+ else
+ %w(erb builder javascript delegate).any? do |template_type|
+ send("#{template_type}_template_exists?", template_path)
+ end
end
end