-1
有什麼辦法可以指定我們實際上想驗證的屬性object.save(validate: false)
?Rails(驗證:false)除了一個屬性
因此,例如,對於用戶模型,我想validate: false
除了我希望驗證的名稱。
有什麼辦法可以指定我們實際上想驗證的屬性object.save(validate: false)
?Rails(驗證:false)除了一個屬性
因此,例如,對於用戶模型,我想validate: false
除了我希望驗證的名稱。
一個令人費解的方式是不做驗證就做object.save
,然後用update
來更新應該驗證的屬性。所有其他驗證都將被跳過,並且只會驗證您所需的屬性:
# save all other attributes other than the one that needs validation
object.assign_attributes params.except(:required_attribute)
object.save validate: false
if object.persisted?
# update the attribute which requires validation
object.update required_attribute: params[:required_attribute]
if ! object.valid?
# handle validation error
end
end
您的用例是什麼? –