我有一个带有generate_password操作的用户模型。 当我创建一个新用户时,密码会自动生成并插入到params中:
"user_params"=>
{"name"=>"name",
"surname"=>"secname",
"password"=>"j6WW9kj6"}
,因此用户无需感受密码字段。因为我有一个密码存在验证,当我尝试创建新用户时,rails会抛出验证错误。
答案 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
感谢。