Tworzenie użytkownika devise z konsoli Ruby
Jakiś pomysł jak stworzyć i zapisać nowy obiekt Użytkownika za pomocą devise z konsoli ruby?
Kiedy próbowałem go uratować, zawsze robię się fałszywy. Chyba czegoś mi brakuje, ale nie mogę znaleźć żadnych powiązanych informacji.
5 answers
Możesz dodać false do metody save, aby pominąć walidacje, jeśli chcesz.
User.new({:email => "[email protected]", :roles => ["admin"], :password => "111111", :password_confirmation => "111111" }).save(false)
Inaczej bym to zrobił
User.create!({:email => "[email protected]", :roles => ["admin"], :password => "111111", :password_confirmation => "111111" })
Jeśli masz włączony moduł confirmable
dla devise, upewnij się, że podczas tworzenia ustawiasz wartość confirmed_at
na coś w rodzaju Time.now
.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-10-05 06:27:02
Powinieneś być w stanie to zrobić używając
u = User.new(:email => "[email protected]", :password => 'password', :password_confirmation => 'password')
u.save
Jeśli zwróci false, możesz wywołać
u.errors
Zobaczyć, co poszło nie tak.Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-11-30 18:09:12
Gdy w twoim modelu jest opcja :confirmable oznacza to, że użytkownik obiektu powinien najpierw potwierdzić. Możesz zrobić dwa sposoby, aby zapisać użytkownika.
A. pierwsze to potwierdzenie pominięcia:
newuser = User.new({email: '[email protected]', password: 'password', password_confirmation: 'password'})
newuser.skip_confirmation!
newuser.save
B. lub użyj confirm! :
newuser = User.new({email: '[email protected]', password: 'password', password_confirmation: 'password'})
newuser.confirm!
newuser.save
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-02-24 02:32:36
Jeśli chcesz uniknąć wysyłania e-maili z potwierdzeniem , najlepszym wyborem jest:
u = User.new({
email: '[email protected]',
password: '12feijaocomarroz',
password_confirmation: '12feijaocomarroz'
})
u.confirm!
u.save
Więc jeśli używasz fałszywego e-maila lub nie masz połączenia z Internetem, unikniesz błędów.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-02-22 16:14:30
Żadna z powyższych odpowiedzi nie zadziałała.
Oto co zrobiłem:
User.create(email: "[email protected]", password: "asdasd", password_confirmation: "asdasd")
Należy pamiętać, że hasło musi być większe niż 6 znaków.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-08-28 15:28:39