私は、そのような多くの電話を持つ顧客モデルを持っています。
class Customer < ActiveRecord::Base
has_many :phones, as: :phoneable, dependent: :destroy
accepts_nested_attributes_for :phones, allow_destroy: true
end
class Phone < ActiveRecord::Base
belongs_to :phoneable, polymorphic: true
end
お客様が常に少なくとも 1 つのネストされた電話モデルを持っていることを確認したいと考えています。現時点ではこれをブラウザで管理していますが、サーバーにバックアップを提供したいと考えています (電話のない顧客レコードにいくつか遭遇しましたが、どのようにしてそのようになったのかよくわかりません。そのため、バックストップが必要です)。 .
これはモデルで達成可能でなければならないと考えていますが、それを行う方法がよくわかりません。これまでの私の試みはすべて失敗しました。電話モデルの before_destroy コールバックが必要だと思いますが、モデルの破壊を防ぐためにこれを記述する方法がわかりません。また、親モデルが破棄された場合にモデルを破棄できるようにするためにも必要です。なにか提案を?