Alguma idéia de como criar e salvar um novo objeto Usuário com o design do console ruby?
Quando tentei salvá-lo, estou ficando sempre falso. Acho que estou perdendo alguma coisa, mas não consigo encontrar nenhuma informação relacionada.
Alguma idéia de como criar e salvar um novo objeto Usuário com o design do console ruby?
Quando tentei salvá-lo, estou ficando sempre falso. Acho que estou perdendo alguma coisa, mas não consigo encontrar nenhuma informação relacionada.
Respostas:
Você pode adicionar false ao método save para ignorar as validações, se desejar.
User.new({:email => "guy@gmail.com", :roles => ["admin"], :password => "111111", :password_confirmation => "111111" }).save(false)
Caso contrário, eu faria isso
User.create!({:email => "guy@gmail.com", :roles => ["admin"], :password => "111111", :password_confirmation => "111111" })
Se você tiver o confirmable
módulo ativado para criação, verifique se está configurando o confirmed_at
valor para algo como Time.now
durante a criação.
Você deve conseguir fazer isso usando
u = User.new(:email => "user@name.com", :password => 'password', :password_confirmation => 'password')
u.save
se isso retornar falso, você pode chamar
u.errors
para ver o que deu errado.
Confirmable
, chamadau.confirm!
Quando no seu modelo tem: opção confirmable, isso significa que o usuário do objeto deve primeiro confirmar. Você pode fazer duas maneiras de salvar o usuário.
uma. primeiro é pular confirmação:
newuser = User.new({email: 'superadmin1@testing.com', password: 'password', password_confirmation: 'password'})
newuser.skip_confirmation!
newuser.save
b. ou use confirmar! :
newuser = User.new({email: 'superadmin2@testing.com', password: 'password', password_confirmation: 'password'})
newuser.confirm!
newuser.save
Se você deseja evitar o envio de e-mails de confirmação , a melhor opção é:
u = User.new({
email: 'demo@greenant.com.br',
password: '12feijaocomarroz',
password_confirmation: '12feijaocomarroz'
})
u.confirm
u.save
Portanto, se você estiver usando um e-mail falso ou não tiver conexão com a Internet, isso evitará erros.
confirm!
agora é apenasconfirm
Nenhuma das respostas acima funcionou para mim.
Isto é o que eu fiz:
User.create(email: "a@a.com", password: "asdasd", password_confirmation: "asdasd")
Lembre-se de que a senha deve ter mais de 6 caracteres.