This might be useful for anyone wanting to reuse action/controller templates/partials in HTML emails sent with ActionMailer. It causes templates/partials to be resolved relative to the 'views' directory rather than relative to the relevant mailer templates directory (which is the default).
module ActionMailer
class Base
# We have to go root relative here because of the change below
def render_message(method_name, body)
render :file => "#{mailer_name}/#{method_name}", :body => body
end
# This allows root relative partials to be located correctly
def initialize_template_class(assigns)
ActionView::Base.new(template_root, assigns, self)
end
end
end