2013-10-22 72 views
1

我有用戶模型,列表模型和訂單模型。用戶可以下訂單或發佈其他人可以下訂單的列表。因此,用戶既可以是客戶,也可以是供應商。鋼軌關聯規則

我的訂單模式有listing_id,from_id和to_id。

我的問題是,我如何建立這些模型之間的關聯?我閱讀關於關聯的導軌指南,但是那裏的例子涉及單獨的客戶和供應商模型。

+0

第一個問題,我是否正確'from_id'和'to_id'都會指向一個'User'對象?第二個問題,你能解釋一下你在找什麼嗎?你不確定如何描述這些關係(意思是說,你不確定你是否應該使用'belongs_to'或'has_many'等)或其他東西? –

+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 
+0

我不是你在這裏所做的,所以我將閱讀更多有關ActiveRecord和Associations的內容。理解後會接受答案。非常感謝。 –