Ruby konsolundan yeni bir Kullanıcı nesnesinin nasıl oluşturulacağı ve kaydedileceği hakkında bir fikriniz var mı?
Onu kurtarmaya çalıştığımda her zaman yanlış oluyorum. Sanırım bir şeyi kaçırıyorum ama ilgili herhangi bir bilgi bulamıyorum.
Ruby konsolundan yeni bir Kullanıcı nesnesinin nasıl oluşturulacağı ve kaydedileceği hakkında bir fikriniz var mı?
Onu kurtarmaya çalıştığımda her zaman yanlış oluyorum. Sanırım bir şeyi kaçırıyorum ama ilgili herhangi bir bilgi bulamıyorum.
Yanıtlar:
İsterseniz doğrulamaları atlamak için kaydetme yöntemine false ekleyebilirsiniz.
User.new({:email => "guy@gmail.com", :roles => ["admin"], :password => "111111", :password_confirmation => "111111" }).save(false)
Aksi takdirde bunu yapardım
User.create!({:email => "guy@gmail.com", :roles => ["admin"], :password => "111111", :password_confirmation => "111111" })
Eğer varsa confirmable
modül vasiyetle için etkinleştirilmiş, emin ayarlarken yapmak confirmed_at
gibi bir şey değer Time.now
yaratırken.
Bunu kullanarak yapabilmelisin
u = User.new(:email => "user@name.com", :password => 'password', :password_confirmation => 'password')
u.save
bu yanlış döndürürse arayabilirsin
u.errors
neyin yanlış gittiğini görmek için.
Confirmable
arayınu.confirm!
Modelinizde olduğunda: onaylanabilir seçenek bu, kullanıcının önce onaylaması gerektiği anlamına gelir. Kullanıcıyı kurtarmak için iki yol yapabilirsiniz.
a. ilki atlama onayı:
newuser = User.new({email: 'superadmin1@testing.com', password: 'password', password_confirmation: 'password'})
newuser.skip_confirmation!
newuser.save
b. veya onayla! :
newuser = User.new({email: 'superadmin2@testing.com', password: 'password', password_confirmation: 'password'})
newuser.confirm!
newuser.save
Onay e-postaları göndermekten kaçınmak istiyorsanız , en iyi seçenek şudur:
u = User.new({
email: 'demo@greenant.com.br',
password: '12feijaocomarroz',
password_confirmation: '12feijaocomarroz'
})
u.confirm
u.save
Dolayısıyla, sahte bir e-posta kullanıyorsanız veya internet bağlantınız yoksa, bu hataları önler.
confirm!
şimdi sadececonfirm
Yukarıdaki cevapların hiçbiri benim için işe yaramadı.
Ben de öyle yaptım:
User.create(email: "a@a.com", password: "asdasd", password_confirmation: "asdasd")
Şifrenin 6 karakterden büyük olması gerektiğini unutmayın.