如何为其他模型

时间:2017-10-18 19:11:31

标签: ruby-on-rails ruby

如果这个问题以不同的方式被问到其他地方,请道歉,但我不能100%肯定如何说出来。

我正在处理其他人创建的代码。他们在Rails中创建了一个名为" Contact" (如公司的联系方式)并使用枚举创建4种不同类型的联系人 - 账单,材料,主要和其他。

class Contact < ActiveRecord::Base
    ...
    enum contact_type_id: [:Billing, :Materials, :Primary, :Other]
    ...
end

我需要创建一个名为&#34; SalesOrder&#34;每条记录有3个联系人。一个主要联系人,一个结算联系人和一个材料联系人。每种联系人只能使用一个销售订单。使用多对多关系似乎不会起作用。

我尝试这样做的方法是创建三个连接表:contact_sales_order_primary,contact_sales_order_billing和contact_sales_order_material。这样,SalesOrder模型可以为每个表使用has_one,而Contact模型可以对表使用has_many。

这就是我一直在尝试的,但我无法让它发挥作用(我也研究过STI和多态关联,但那些看起来并不完全适合账单)。我无法判断:

  1. 我正在采取正确的方法解决这个问题,而我还没弄清楚如何正确执行它,
  2. 它有点矫枉过正,我应该做一些更简单的事情,或者
  3. 如果有一种完全不同的方法,我忽视
  4. 当然,我可以提供您可能需要的任何其他详细信息以帮助解答。非常感谢任何帮助或建议。

0 个答案:

没有答案