Add deprecation for old subtemplate syntax for ActionMailer templates, use render :partial [rick]

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8211 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
This commit is contained in:
Rick Olson
2007-11-26 03:35:52 +00:00
parent 8afb4e136b
commit 3d67860cae
2 changed files with 15 additions and 0 deletions

View File

@@ -1,5 +1,7 @@
*SVN*
* Add deprecation for old subtemplate syntax for ActionMailer templates, use render :partial [rick]
* Fix TemplateError so it doesn't bomb on exceptions while running tests [rick]
* Fixed that named routes living under resources shouldn't have double slashes #10198 [isaacfeliu]

View File

@@ -276,6 +276,19 @@ module ActionView #:nodoc:
# it's relative to the view_paths array, otherwise it's absolute. The hash in <tt>local_assigns</tt>
# is made available as local variables.
def render_file(template_path, use_full_path = true, local_assigns = {}) #:nodoc:
if defined?(ActionMailer::Base) && controller.is_a?(ActionMailer::Base) && !template_path.include?("/")
raise ActionViewError, <<-END_ERROR
Due to changes in ActionMailer, you need to provide the mailer_name along with the template name.
render "user_mailer/signup"
render :file => "user_mailer/signup"
If you are rendering a subtemplate, you must now use controller-like partial syntax:
render :partial => 'signup' # no mailer_name necessary
END_ERROR
end
@first_render ||= template_path
template_path_without_extension, template_extension = path_and_extension(template_path)
if use_full_path