找不到得到這個很容易做到 我想拿出以下問題數據庫模型中的最佳途徑。如何添加驗證,以軌道模型依賴於其他模型
有是有一個相關帳戶表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是無效。
謝謝,我以類似的方式嘗試它,並得到它的工作。 –