【发布时间】:2014-12-26 18:09:59
【问题描述】:
所以我有很多 Profile 对象的多态子对象。如果特定对象的字段为空白,模型旨在销毁 after_save。
但是对于 accept_nested_attributes,如果它是空白的,我不想首先创建子对象。但是,如果我离开了 reject_if 语句,那么用户将不再能够在 UPDATE 上清空该字段,因为 reject_if 拒绝了他们的空白输入。
accepts_nested_attributes_for :socials, reject_if: proc { |att| att['username'].blank? }
accepts_nested_attributes_for :phones, reject_if: proc {|att| att['number'].blank? }
accepts_nested_attributes_for :websites, reject_if: proc {|att| att['url'].blank? }
所以我想reject_if: { ... }, on: :create。但这似乎不起作用。
【问题讨论】:
-
on: :create与validates结合使用。accepts_nested_attributes_for没有那个选项。见api.rubyonrails.org/classes/ActiveRecord/NestedAttributes/…
标签: ruby-on-rails ruby-on-rails-4.1