Создание пользователя devise из консоли Ruby



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



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

638   5  

5 ответов:

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

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

вы должны быть в состоянии сделать это с помощью

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

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

u.errors

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

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

a. во-первых, пропустить подтверждение:

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

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

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

    u.confirm!
    u.save

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

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

вот что я сделал:

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

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

Comments

    Ничего не найдено.