Ruby on Rails如何区分相同模型之间的多个关系

时间:2015-06-04 04:32:13

标签: 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 个答案:

答案 0 :(得分: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