找不到得到这个很容易做到 我想拿出以下问题数据库模型中的最佳途径。如何添加验证,以轨道模型依赖于其他模型
有是有一个相关帐户表Deal表。每个帐户可以有多个联系人。现在,一笔交易需要分配主要联系人,该主要联系人必须是关联帐户的多个联系人中的一个。如何确保主要联系人是其中一个帐户联系人。
Deal Table
account_id
primary_contact_id
Account Table
name and other params
Contact Table
account_id
phone, email etc.
例如,类我使用目前
class Deal < ActiveRecord::Base
belongs_to :account
belongs_to :contact
end
class Account < ActiveRecord::Base
has_many :contacts
has_many :deals
end
class Contact < ActiveRecord::Base
belongs_to :account
has_many :deals
end
我可以在交易模型或控制器添加验证,以确保得到补充说,接触是其帐户中的联系人当中的一个。但如何采取下列情况的护理:
- 删除从帐户的联系人应当确保交易表的相应CONTACT_ID设为零
- 删除与交易相关联的账户应该确保CONTACT_ID该交易表是无效
- 更新账户协会应确保交易的CONTACT_ID是无效。
谢谢,我以类似的方式尝试它,并得到它的工作。 –