rails中的关联规则

时间:2013-10-22 22:31:57

标签: ruby-on-rails rails-activerecord

我有一个User模型,一个Listing模型和一个Order模型。用户可以下订单或发布其他人可以下订单的列表。因此,用户既可以是客户也可以是供应商。

我的订单模型有listing_id,from_id和to_id。

我的问题是,如何在这些模型之间建立关联?我阅读了关于关联的rails指南,但是那个例子涉及单独的客户和供应商模型。

1 个答案:

答案 0 :(得分:1)

class User < ActiveRecord::Base
  has_many :listings, :foreign_key => :supplier_id, :inverse_of => :supplier
  has_many :orders, :foreign_key => :customer_id, :inverse_of => :customer
end

class Listing < ActiveRecord::Base
  belongs_to :supplier, :class_name => 'User'
  belongs_to :order
end

class Order < ActiveRecord::Base
  belongs_to :customer, :class_name => 'User'
  has_many :listings
end