From 3d67860cae0898b248381075d98736ff77d671dd Mon Sep 17 00:00:00 2001 From: Rick Olson Date: Mon, 26 Nov 2007 03:35:52 +0000 Subject: 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 --- actionpack/CHANGELOG | 2 ++ actionpack/lib/action_view/base.rb | 13 +++++++++++++ 2 files changed, 15 insertions(+) diff --git a/actionpack/CHANGELOG b/actionpack/CHANGELOG index 8e5492dd0f..f95a600c26 100644 --- a/actionpack/CHANGELOG +++ b/actionpack/CHANGELOG @@ -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] diff --git a/actionpack/lib/action_view/base.rb b/actionpack/lib/action_view/base.rb index d73fb643e8..9901f81d56 100644 --- a/actionpack/lib/action_view/base.rb +++ b/actionpack/lib/action_view/base.rb @@ -276,6 +276,19 @@ module ActionView #:nodoc: # it's relative to the view_paths array, otherwise it's absolute. The hash in local_assigns # 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 -- cgit v1.2.3