diff options
-rw-r--r-- | actionpack/CHANGELOG | 2 | ||||
-rw-r--r-- | actionpack/lib/action_view/base.rb | 13 |
2 files changed, 15 insertions, 0 deletions
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 <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 |