我遵循rails教程并有一个工作用户系统,但有一件事让我很烦恼:保存用户时,即使在控制台中,也必须关闭验证因为如果没有保存密码和密码确认,它将不会保存,并设置为相同的内容。Rails教程 - 必须保存关闭用户的验证
这是一种痛苦,如果我向用户添加其他重要的验证,这似乎是潜在的危险。那么是否有处理这个问题的好方法?真的,我希望验证只适用于更新来自用户,而不是来自我自己的代码。
因此,用户模型具有这样的:
validates :password, length: { minimum: 6 }
has_secure_password # this does the hashing, comparisions, etc for us.
validates :password_confirmation, presence: true
创建用户时,这个伟大的工程,而当用户编辑他/她的个人资料,因为它要求的密码再次进入。但是,对于其他编辑,这很烦人。例如:
user = User.find_by_name("bob")
user.reputation = 200
user.save(validate: false) # I really don't want to have to care about password validations here.
也许会让您的场景变得更加丰富多彩。您是否在创建用户之前创建了密码?或者每次保存新数据时系统都会检查密码?或者我还没有提到的其他一些情况? – 2012-04-28 11:33:29
我编辑过这个来解释它更好。 – Jords 2012-04-28 11:50:46