Railsでaccept_nested_attributes_forを使用するときはvalidates_associatedをするのを検討しよう

Railsでaccept_nested_attributes_forを使用していたのですが、はまってしまった記録です。

どうやらcreate時にはvalidate_associatedがなくても子レコードのvalidationが走るようなのですが、
update時にはvalidate_associatedがないと子レコードのvalidationが走らないようです。

update時にvalidationをしたい場合は気をつけましょう。

https://api.rubyonrails.org/classes/ActiveRecord/Validations/ClassMethods.html#method-i-validates_associated

def validates_associated(*attr_names)
validates_with AssociatedValidator, _merge_attributes(attr_names)
end

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です