2

クラスにaccepts_nested_attributes_forの:reject_ifケースがありますが、特定の値が0の場合にすでに作成されているオブジェクトを破棄できるようにもしたいと思います。

:destroy_ifオプションがないようです。このようなケースを制御する標準的な方法はありますか?

4

2 に答える 2

2

before_saveを使用して解決策を見つけました。これはかなりうまくいくようです。

before_save :mark_entries_for_removal

def mark_entries_for_removal
  entries.each do |entry|
    entry.mark_for_destruction if entry.hours_spent <= 0
  end
end
于 2013-03-18T22:59:25.457 に答える
0

ネストされたモデルは、その属性_destroyが設定されると破棄されます(1またはtrue)

解決策は、属性をyour_nested_model_attributes=に設定するためにオーバーロードすることです_destroy1

于 2013-03-18T15:46:18.133 に答える