【问题标题】:Rails4: Override/skip certain model validations?Rails4:覆盖/跳过某些模型验证?
【发布时间】:2016-03-09 13:07:09
【问题描述】:
如果有人能建议这种情况下的最佳实践/最干净的方法,将不胜感激:
当有人通过我的网站创建帐户时,我有一个用户模型,其中包含几个验证检查。当有人尝试通过我的 api 创建新的用户记录时,我想跳过这些验证。
我已经阅读了一些解决方案,包括创建模型的子类并在私有方法中为每个类设置标志以跳过验证,或者使用属性访问器设置标志,不确定什么是最好的,或者是否有更好的东西可以完成。
【问题讨论】:
标签:
ruby-on-rails
ruby
ruby-on-rails-4
rails-models
【解决方案1】:
你可以试试:
attributes = {
first_name: first_name,
last_name: last_name,
email: email,
title: title,
birthday: birthday,
phone: phone,
mobile: mobile,
}
user.assign_attributes(attributes)
User.save!(validate: false)
这将跳过验证。