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

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

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

Ответ 1

Вы можете добавить 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 для разработки, убедитесь, что вы устанавливаете значение confirmed_at во время создания Time.now.

Ответ 2

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

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

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

u.errors

чтобы понять, что пошло не так.

Ответ 3

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

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

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

Ответ 4

Если вы хотите избежать отправки электронных писем с подтверждением, лучший выбор:

    u = User.new({
      email: '[email protected]',
      password: '12feijaocomarroz',
      password_confirmation: '12feijaocomarroz'
    })

    u.confirm
    u.save

Так что, если вы используете фальшивую электронную почту или у вас нет подключения к интернету, это позволит избежать ошибок.

Ответ 5

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

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

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

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