2012-01-28 4 views
52

Uygulamamda Devise'yi yeni yükledim, görünümleri ve her şeyi yapılandırdım. Ancak, kayıt düğmesine tıkladığımda şu hatayı alıyorum:Kullanıcıları kaydederken tanımlanmamış yerel değişken veya "unconfirmed_email" yöntemi?

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

Neden bu? Ayrıca, gmail iş hesabım üzerinden e-posta göndermek için tlsmail kullanıyorum. Bu da bir sorun olabilir.

+0

Bu genellikle, kullanıcı gibi veritabanındaki veritabanında eksik bir sütunu gösterir. Eklemek için bir geçişi çalıştırmanız gerekip gerekmediğini görmek için Devise belgelerine başvurmanız gerekebilir. – tadman

cevap

114

unconfirmed_email hazırlamak kullanıyorsanız. Nedense bu config/intializers/devise.rb varsayılan olarak etkindir edildi:

config.reconfirmable = true 

yapmanız gereken tek şey false bu ayarlanır.

+5

Veya yorumlayın. – Jazz

25

unconfirmed_email column db.

göçlerde t.reconfirmable ekleyip rake db:migrate

çalıştırmak veya reconfirmable için gereklidir> = 2,0

t.string :unconfirmed_email 
+0

Teşekkürler, ancak aslında yeniden onaylanmayı istemedim, çünkü bazı nedenlerle varsayılan olarak etkinleştirildi. Cevabımı gör. – varatis

+0

't.reconfirmable' nedir? muhtemelen t.string: unconfirmed_email' demek istiyor musunuz? ayy, biraz geç =) – trushkevich

+0

@trushkevich, hayır! devise kendi yardımcı yöntemlerine sahiptir (tekrar onaylanabilir), sadece modül modülü adını çağırmanız gerekir ve tüm geçişleri çalışmasını sağlar. – Fivell