2012-01-28 16 views
52

Acabo de instalar Devise en mi aplicación, configuré las vistas y todo. Sin embargo, cuando hago clic en el botón de registro obtengo este error:Variable local no definida o método `no confirmado_email 'al registrar usuarios?

NameError in Devise::RegistrationsController#create 
undefined local variable or method `unconfirmed_email' for #<User:0x00000103721b28> 

¿Por qué es esto? Además, estoy usando tlsmail para enviar correos electrónicos a través de mi cuenta comercial de Gmail. Esto también podría ser un problema.

+0

Esto generalmente indica una columna faltante en la base de datos para modelos como el Usuario. Es posible que deba consultar la documentación de Devise para ver si necesita ejecutar una migración para agregarla. – tadman

Respuesta

114

unconfirmed_email se requiere para reconfirmable. Por alguna razón esto fue activado por defecto en config/intializers/devise.rb:

config.reconfirmable = true 

Todo lo que tiene que hacer se pone a false.

+5

O comentarlo. – Jazz

25

Extrañas la columna no confirmada de correo electrónico en db.

añadir t.reconfirmable en migraciones y ejecutar rake db:migrate

o si está usando idear> = 2,0

t.string :unconfirmed_email 
+0

Gracias, pero en realidad no quería reconfirmable, por alguna razón fue habilitado por defecto. Ver mi respuesta – varatis

+0

¿Qué es 't.reconfirmable'? ¿Te refieres a 't.string: unconfirmed_email'? Uy, un poco tarde =) – trushkevich

+0

@trushkevich, no! idear tiene sus propios métodos de ayuda (como reconfirmable), solo necesita llamar el nombre del módulo y hará todas las migraciones para que funcione. – Fivell

Cuestiones relacionadas