これはばかげた問題のように思えますが、どこにも答えが見つかりません!
update_attributes()
のように検証をスキップすることは可能save(validate: false)
ですか?
いくつかの長いtext
(ではないstring
) フィールドを含む長いフォームがあり、ユーザーがフォームの進行状況を保存できるようにしたいと考えています。通常、回答者が回答を送信して先に進む前に、回答の長さの最小値などが必要ですが、「保存」をクリックするだけの場合は、回答者が行った進捗状況をすべて記載したいと思います。後で戻って終了できるようにします。この場合、検証をスキップする方法はありますか?
周りを見回すと、次のように各フィールドを個別に列挙するしかないようです。
@obj.field1 = ...
@obj.field2 = ...
@obj.field3 = ...
...
@obj.save(:validate => false)
本当にそうですか?将来のある時点で別のフィールドを追加して、ここでコントローラーを更新するのを忘れてしまうのではないかと心配しています。