Rails:从一个模型到另一个模型的两个关系(别名)

时间:2015-03-03 02:53:38

标签: ruby-on-rails activerecord

嗨,我是非常新的活跃记录,我不知道如何建立这种关系。

我有模型orders和模型addresses

订单可以有多个shipping_addresses,也可以包含许多invoice_addresses

我该如何建立这种关系?我的意思是invoice_addresses和shipping_addresses基本相同,但我需要将它们与订单分开

order.shipping_addresses
order.invoice_addresses

我不想创建更多模型,我只需要知道如何仅使用orderaddress模型设置此关系

感谢您的帮助

1 个答案:

答案 0 :(得分:2)

您可以将多个has_many定义到同一个类,如下所示:

# app/models/order.rb

class Order < ActiveRecord::Base
  has_many :shipping_addresses, class_name: 'Address'
  has_many :invoice_addresses, class_name: 'Address'
  ...
end

如果您想为这些关联添加条件,请参阅Active Record Associations了解详细信息。