在我的应用程序中,我有以下情况:
用户属于组组有许多用户(_M)
项目归属用户用户有多个项目(_M)
以下情况也是正确的:-每组将有一个基本情况-每个项目将有多个场景和一个基本案例(取决于项目用户所属的组)-Scenario和BaseCase是相同类型的对象(让我们称之为Data)-每个场景的默认值是组的基本情况值,但用户可以更改这些默认值以创建特定的场景
我不知道如何通过联想有效地捕捉所有这些关系,有人有什么想法吗?感谢
如果我理解正确,那么类似的东西
class User
belongs_to :group
has_many :projects
end
class Group
has_many :users
has_many :projects, :through => :users
has_one :base_case
end
class Project
has_many :scenarios
has_one :base_case
belongs_to :user
has_one :group, :through => user
has_one :base_case, :through => :group
end
class Scenario
belongs_to :project
has_one :base_case, :through => :project
before_create do
self.attributes = self.base_case.attributes.except(:group_id, ...)
end
end
class BaseCase
belongs_to :group
end