关于关联:我应该如何设置Rails应用程序,以使某些对象链接到其他对象(belong_to),但并非所有对象都具有这种关系?

How should I set up a Rails app so that some Objects are linked to others (belong_to) but not all Objects have this relationship?

我不确定我是否已经在标题中准确反映了我的目标,但是我将在此处进行更多说明。

在我的应用中,我有"公司",而"公司"有"多个Key_Contacts"。

公司也有很多销售机会。

我希望用户能够选择一些属于公司的Key_Contact,并将它们与特定的Sales_Opportunity关联。我还希望用户能够添加不与任何Sales_Opportunity关联的Key_Contact。

这样做的目的是,我可以在Sales_Opportunity页面上显示一个Sales_Opportunity视图中涉及的特定Key_Contact,但不是全部。

是否简单地将Sales_opportunity_id添加到Key_Contacts模型中,却不设置" belongs_to "和" has_many "关系?还是有一种更"官方的Rails"方法可以实现我的目标?


如果我没有看错,那么您要做的就是向您的SalesOpportunity模型(以及KeyContacts模型中的belongs_to :sales_opportunity)添加另一个has_many :key_contacts关系。然后关联属于特定销售机会的所有联系人。