地方でリモートワーク

プログラミング、先物、fx,仮想通貨なんでもやります

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

スポンサーリンク

f:id:ihatov08:20170312214906p:plain

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