2012-07-03 691 views
8

Una vez configurado el gestor de correo (3.2.6) en Ruby on Rails (3.2.6) me sale este error:NoMethodError electrónico método no definido para

NoMethodError (método no definido `electrónico' para #):

mi user_mailer.rb se ve así:

class UserMailer < ActionMailer::Base 
    default :from => "[email protected]" 

    def activation_mail(user) 
    @user = user 
    mail(:to => user.mail, :subject => "Registration") 
    end 
end 

que siguieron el ejemplo proporcionado aquí: http://guides.rubyonrails.org/action_mailer_basics.html

En el archivo de configuración añadí esta línea: config. action_mailer.delivery_method =: test También probé con: smtp y configuración para gmail.

¿Qué me he perdido?

+0

¿podría aceptar una respuesta? – doug

Respuesta

0

apuesto a su objeto de "usuario" que está pasando es o bien 1) no crea una instancia correctamente, o 2) una matriz en lugar de un objeto de usuario individuales

1

Es un error tipográfico. Su user.mail no existe. Tal vez debería ser user.email o algo más.

3

usted debe intentar sustituir

def activation_mail(user) 
    @user = user 
    mail(:to => user.mail, :subject => "Registration") 
    end 

con

def activation_mail(user) 
    @user = user 
    mail(:to => @user.mail, :subject => "Registration") 
    end 
4

tuve un problema similar hace poco y rectificada mediante la sustitución:

def self.activation_mail() 

con

def activation_mail() 
0

Encontré que un error tipográfico en su vista de correo podría causar este problema. El mensaje de error es engañoso.

Cuestiones relacionadas