这似乎是一个愚蠢的问题,但我无法在任何地方找到答案!
有没有可能update_attributes()
并跳过验证,如 save(validate: false)
?
我有一个很长的表格,有些冗长text
(不是 string
)字段,我想为用户提供在表单上保存进度的能力。通常,在他们能够提交并继续之前,我希望答案的长度最小值等,但如果他们只是点击“保存”,我想把他们取得的任何进展放进去数据库,以便他们可以稍后返回并完成。在这种情况下有没有办法跳过验证?
环顾四周,似乎我唯一能做的就是像这样单独枚举每个字段:
@obj.field1 = ...
@obj.field2 = ...
@obj.field3 = ...
...
@obj.save(:validate => false)
真的是这样吗?我会担心将来某个时候添加另一个字段而忘记在此处更新 Controller 。
最佳答案
@obj.attributes = params[:obj]
@obj.save(false)
Rails 3 更新
@obj.attributes = params[:obj]
@obj.save(:validate => false)
关于ruby-on-rails - 可以跳过对 update_attributes 的验证吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10079258/