Allow devise to work with association proxies.

This commit is contained in:
José Valim
2010-03-26 10:19:31 +01:00
parent 12b64c691f
commit ae729aedc3
4 changed files with 15 additions and 27 deletions

View File

@@ -19,10 +19,9 @@ class Devise::Mailer < ::ActionMailer::Base
# Configure default email options
def setup_mail(record, action)
@devise_mapping = Devise::Mapping.find_by_class(record.class)
raise "Invalid devise resource #{record}" unless @devise_mapping
@resource = instance_variable_set("@#{@devise_mapping.name}", record)
@scope_name = Devise::Mapping.find_scope!(record)
@devise_mapping = Devise.mappings[@scope_name]
@resource = instance_variable_set("@#{@devise_mapping.name}", record)
template_path = ["devise/mailer"]
template_path.unshift "#{@devise_mapping.as}/mailer" if self.class.scoped_views?