Masz jakiś pomysł, jak utworzyć i zapisać nowy obiekt użytkownika za pomocą urządzenia z konsoli ruby?
Kiedy próbowałem to uratować, zawsze robię się fałszywy. Chyba coś mi brakuje, ale nie mogę znaleźć żadnych powiązanych informacji.
Masz jakiś pomysł, jak utworzyć i zapisać nowy obiekt użytkownika za pomocą urządzenia z konsoli ruby?
Kiedy próbowałem to uratować, zawsze robię się fałszywy. Chyba coś mi brakuje, ale nie mogę znaleźć żadnych powiązanych informacji.
Odpowiedzi:
Możesz dodać false do metody save, aby pominąć sprawdzanie poprawności, jeśli chcesz.
User.new({:email => "guy@gmail.com", :roles => ["admin"], :password => "111111", :password_confirmation => "111111" }).save(false)
W przeciwnym razie zrobiłbym to
User.create!({:email => "guy@gmail.com", :roles => ["admin"], :password => "111111", :password_confirmation => "111111" })
Jeśli masz confirmable
moduł włączony dla devise, upewnij się, że podczas tworzenia ustawiasz confirmed_at
wartość na coś podobnego Time.now
.
Powinieneś być w stanie to zrobić za pomocą
u = User.new(:email => "user@name.com", :password => 'password', :password_confirmation => 'password')
u.save
jeśli to zwróci fałsz, możesz zadzwonić
u.errors
aby zobaczyć, co poszło nie tak.
Confirmable
, zadzwońu.confirm!
Jeśli w Twoim modelu jest opcja: confirmable, oznacza to, że użytkownik obiektu powinien zostać potwierdzony jako pierwszy. Możesz zapisać użytkownika na dwa sposoby.
za. pierwsza to potwierdzenie pominięcia:
newuser = User.new({email: 'superadmin1@testing.com', password: 'password', password_confirmation: 'password'})
newuser.skip_confirmation!
newuser.save
b. lub użyj potwierdzenia! :
newuser = User.new({email: 'superadmin2@testing.com', password: 'password', password_confirmation: 'password'})
newuser.confirm!
newuser.save
Jeśli chcesz uniknąć wysyłania e-maili potwierdzających , najlepszym wyborem jest:
u = User.new({
email: 'demo@greenant.com.br',
password: '12feijaocomarroz',
password_confirmation: '12feijaocomarroz'
})
u.confirm
u.save
Jeśli więc używasz fałszywego e-maila lub nie masz połączenia z Internetem, pozwoli to uniknąć błędów.
confirm!
jest terazconfirm
Żadna z powyższych odpowiedzi nie zadziałała dla mnie.
Oto co zrobiłem:
User.create(email: "a@a.com", password: "asdasd", password_confirmation: "asdasd")
Pamiętaj, że hasło musi być dłuższe niż 6 znaków.