我在我的rails開發中有一個奇怪的情況,我無法正確管理。基本上,我有三個對象:域,項目和人員;一個域是一組人和項目。域可以有多個項目,項目可以有幾個人,但是一個項目只能在一個域中,人們只能在一個域中的項目中工作。驗證對象的關聯
我曾經代表它如下:
class Domain < ActiveRecord::Base
has_many :projects
class Project < ActiveRecord::Base
belongs_to :domain
has_and_belongs_to_many :persons
class Person < ActiveRecord::Base
belongs_to :domain
has_and_belongs_to_many :projects
我不知道如何驗證所有添加到一個人的項目屬於同一個域。我已經創建了一個驗證人員的方法,但是仍然可以在其他域中添加項目,保存在數據庫中的人員無效。
您是否看到這個問題的乾淨解決方案?
事實上,它的工作原理 – Etienne 2012-02-23 17:53:35