2015-06-04 64 views
0

所以我有以下型號Ruby on Rails的如何區分多個關係相同型號之間

User, Course, Order, Line_item 

用戶(賣方)has_many :courses(如教師,把它們上傳)

在另一方面.. 。

用戶(買家):has_many :orders

訂單:has many :line_items

LINE_ITEM:belongs_to :course

所以,我想通過一個買家購買的所有課程列表,我在這一點上使用@user.courses可以這樣做呢?我如何區分buyer.coursesseller.courses

任何幫助表示讚賞。謝謝!

回答

1

您需要爲此使用self-referential association

#cousre.rb 
Class Course < ActiveRecord::Base 
    belongs_to :sellar, :class_name => 'User', :foreign_key => 'sellar_id' 
end 

#order.rb 
Class Order < ActiveRecord::Base 
    belongs_to :buyer, :class_name => 'User', :foreign_key => 'buyer_id' 
end 
+0

':foreign_key'不應該在包含'has_many'定義的模型中嗎?在這種情況下,用戶模型。 –

+0

@MikeSlutsky不!它不應該。 – Pavan

+0

但是您在答案中引用的鏈接顯示'has_many'行中的'foreign_key'。爲什麼你的例子與你鏈接的不同? –