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