我正在自下而上构建一个 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
我认为贡献将与文件和笔记的模型相关联;项目可能与“下一步”模型相关联......我认为都是嵌套资源。
谢谢