ruby on rails - хабр - Создайте пользователя-разработчика из консоли Ruby




rails devise хабр (4)

Любая идея о том, как создать и сохранить новый объект User с помощью консоли ruby?

Когда я попытался сохранить его, я всегда ошибаюсь. Наверное, мне что-то не хватает, но я не могу найти никакой информации.


Вы должны это сделать, используя

u = User.new(:email => "[email protected]", :password => 'password', :password_confirmation => 'password')
u.save

если это возвращает false, вы можете позвонить

u.errors

чтобы увидеть, что пошло не так.


Вы можете добавить false к методу сохранения, чтобы пропустить проверки, если хотите.

User.new({:email => "[email protected]", :roles => ["admin"], :password => "111111", :password_confirmation => "111111" }).save(false)

В противном случае я бы сделал это

User.create!({:email => "[email protected]", :roles => ["admin"], :password => "111111", :password_confirmation => "111111" })

Если у вас есть confirmable модуль для разработки, убедитесь, что вы устанавливаете значение Time.now для чего-то вроде Time.now во время создания.


Когда на вашей модели есть: подтверждаемый вариант, это означает, что пользователь должен сначала подтвердить. Вы можете сделать два способа сохранить пользователя.

а. сначала пропустить подтверждение:

newuser = User.new({email: '[email protected]', password: 'password', password_confirmation: 'password'})
newuser.skip_confirmation!
newuser.save

б. или использовать подтверждение! :

newuser = User.new({email: '[email protected]', password: 'password', password_confirmation: 'password'})
newuser.confirm!
newuser.save

Ни один из вышеперечисленных ответов не работал для меня.

Это то, что я сделал:

User.create(email: "[email protected]", password: "asdasd", password_confirmation: "asdasd")

Имейте в виду, что пароль должен быть больше 6 символов.





devise