mirror of
https://github.com/github/rails.git
synced 2026-01-30 16:58:15 -05:00
Fix #render_file so that TemplateError is called with the correct params and you don't get the WSOD. [Rick]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@6130 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
*SVN*
|
||||
|
||||
# Fix #render_file so that TemplateError is called with the correct params and you don't get the WSOD. [Rick]
|
||||
|
||||
* Fix issue with deprecation messing up #template_root= usage. Add #prepend_view_path and #append_view_path to allow modification of a copy of the
|
||||
superclass' view_paths. [Rick]
|
||||
|
||||
|
||||
@@ -245,10 +245,9 @@ module ActionView #:nodoc:
|
||||
# is made available as local variables.
|
||||
def render_file(template_path, use_full_path = true, local_assigns = {}) #:nodoc:
|
||||
@first_render ||= template_path
|
||||
|
||||
template_path_without_extension, template_extension = path_and_extension(template_path)
|
||||
|
||||
if use_full_path
|
||||
template_path_without_extension, template_extension = path_and_extension(template_path)
|
||||
|
||||
if template_extension
|
||||
template_file_name = full_template_path(template_path_without_extension, template_extension)
|
||||
else
|
||||
@@ -257,7 +256,6 @@ module ActionView #:nodoc:
|
||||
end
|
||||
else
|
||||
template_file_name = template_path
|
||||
template_extension = template_path.split('.').last
|
||||
end
|
||||
|
||||
template_source = nil # Don't read the source until we know that it is required
|
||||
@@ -269,7 +267,7 @@ module ActionView #:nodoc:
|
||||
e.sub_template_of(template_file_name)
|
||||
raise e
|
||||
else
|
||||
raise TemplateError.new(find_base_path_for(template_file_name), template_file_name, @assigns, template_source, e)
|
||||
raise TemplateError.new(find_base_path_for("#{template_path_without_extension}.#{template_extension}"), template_file_name, @assigns, template_source, e)
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -395,6 +393,7 @@ module ActionView #:nodoc:
|
||||
@@cache_template_extensions && @@cached_template_extension[template_path]
|
||||
end
|
||||
|
||||
# Returns the view path that contains the given relative template path.
|
||||
def find_base_path_for(template_file_name)
|
||||
@view_paths.find { |p| File.file?(File.join(p, template_file_name)) }
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user