我对构造感到很困惑,并尝试了几种方法来使以下情况适用于我的测试。但我无法让它工作。
这就是我想要的:当一项活动正在进行时。可以将多个客户端分配给该活动。因此创建对@oneActivity.clients
or的访问@oneClient.activities
。
我应该在我的活动迁移中提出一个references :client
还是相反?两者中的哪一个应该belongs_to
在模型中,哪一个has_many
?
我对构造感到很困惑,并尝试了几种方法来使以下情况适用于我的测试。但我无法让它工作。
这就是我想要的:当一项活动正在进行时。可以将多个客户端分配给该活动。因此创建对@oneActivity.clients
or的访问@oneClient.activities
。
我应该在我的活动迁移中提出一个references :client
还是相反?两者中的哪一个应该belongs_to
在模型中,哪一个has_many
?
好吧,如果一个客户有很多活动并且一个活动有很多客户,那么我建议你看看 has_and_belongs_to_many 关系。在这种情况下
在您的客户模型中,您将拥有
has_and_belongs_to_many :activities
在您的活动模型中,您将拥有
has_and_belongs_to_many :clients
这样你就可以做你在问题中描述的动作
您可以在此处查看 Rails 指南中的关系:http: //guides.rubyonrails.org/association_basics.html#the-has-and-belongs-to-many-association
在您的客户模型中,您将拥有
has_and_belongs_to_many :activities
在您的活动模型中,您将拥有
has_and_belongs_to_may :clients
我想,根据你的描述,你需要一个多对多的关系。客户可以有许多活动,正如您所描述的,活动可以分配给多个客户。