我從下往上構建一個rails應用,需要關於模型關聯的一些指導。bottom bottom rails應用協會
我們有客戶,讓他們參與多個項目。 客戶擁有從事項目工作的用戶(他們的員工),並通過文件和筆記對項目做出貢獻。 我們還與我們的客戶就項目進行協作(添加文件,註釋)。 項目包含貢獻者(文件,註釋)的貢獻者(可能是另一個客戶的一部分的用戶或分承包商)。
因此模型明智我想確保我正確捕獲一切。這是我所擁有的,但我不確定它是否完全正確,並且對其他協會開放。
Client
has_many :projects
has_many :users
Project
belongs_to :client
has_and_belongs_to_many :contributors
has_and_belongs_to_many :contributions
User
belongs_to :client
belongs_to :contributor
has_many :contributions
Contributor
has_and_belongs_to_many :projects
has_one :user
has_many :contributions
Contribution
has_and_belongs_to_many :projects
belongs_to :contributor
我認爲貢獻將與文件和筆記模型相關聯;項目可能與「下一步」模型相關......我認爲所有這些都是嵌套資源。
感謝
拆分用戶和貢獻者模型的目的是什麼?爲什麼它不能成爲一個模型? – Phobos98
有時來自一個客戶的用戶可能會貢獻給另一個客戶的項目,或者用戶可能無法訪問項目......思考是以項目爲基礎存儲貢獻者。不是用戶,而是用戶的參考(可能是連接表)。不必要?謝謝。 – twinturbotom