Mongoid と埋め込みドキュメントを使用しています。_destroy
の値を持つ非表示のフォーム フィールドを使用する標準的な方法を使用しています1
。これは、削除しようとしている関連付けを含むバリデーターが実行されている場合を除いて、正常に機能します。例えば:
class Thing
include Mongoid::Document
embeds_many :actions
validate :uniqueness_of_actions
def uniqueness_of_actions
subjects = actions.map(&:subject)
subjects_are_unique = subjects == subjects.uniq
errors.add(:actions, 'must have unique subjects') unless subjects_are_unique
subjects_are_unique
end
end
それらを含む可能性のある検証が実行される前に、破棄のマークが付けられた関連付けを削除/除外する適切な方法は何ですか?