如果生成密码验证,如何避免密码验证

时间:2017-09-13 14:32:11

标签: ruby-on-rails

我有一个带有generate_password操作的用户模型。 当我创建一个新用户时,密码会自动生成并插入到params中:

"user_params"=>
  {"name"=>"name",
   "surname"=>"secname",
   "password"=>"j6WW9kj6"}

,因此用户无需感受密码字段。因为我有一个密码存在验证,当我尝试创建新用户时,rails会抛出验证错误。

2 个答案:

答案 0 :(得分:0)

根据我的理解,我可以说你是在第一次创建用户时尝试生成密码。

我认为对于这个问题,您可以在before_create模型中使用User

before_create :generate_password

答案 1 :(得分:0)

答案很简单。我应该在users_controller中运行password_generate方法,ActiveRecord会为我做所有事情:

@user = User.new user_params
@user.password = @user.generate_password

感谢。