我有一个客户模型,它有很多这样的手机;
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
我想确保客户始终拥有至少一种嵌套电话型号。目前我在浏览器中管理这个,但我想在服务器上提供一个备份(我遇到了几个没有电话的客户记录,不太清楚他们是怎么做到的,所以我需要一个支持) .
我认为这必须在模型中实现,但我不太确定如何做到这一点。到目前为止,我所有的尝试都失败了。我认为手机模型中的 before_destroy 回调是我想要的,但我不知道如何编写它以防止模型被破坏。如果父模型已被破坏,我还需要它来允许模型的破坏。有什么建议吗?