【发布时间】:2014-04-28 02:06:17
【问题描述】:
Ruby:2.0。
导轨:4.0.1
我有 2 个模型:User 和 Orders 这是他们的相关信息:
-
用户
- 身份证
-
订购
- user_id
- distributor_id
以及我(当前)模型的相关部分:
class User < ActiveRecord::Base
has_many :orders
end
class Order < ActiveRecord::Base
belongs_to :user
belongs_to :distributor, class_name: User
end
基本上,用户的订单是他们下的订单,但每个用户也有“佣金” - 并且需要能够引用他们设置为分销商的所有订单。所以:
user = User.find 7
user.orders // would return all orders where user_id = 7 (this works)
user.commissions // would return all Orders where distributor_id = 7 (this is what I need help with)
如何在用户模型中进行设置?
我想我之前可能不清楚,这里有一个 tl;dr:
- user.orders 查找 user_id = user.id 的订单
- user.commissions 查找distributor_id = user.id 的订单
我需要帮助设置user.commissions
【问题讨论】:
-
尝试给一个这样的foreign_key选项
belongs_to :distributor, class_name: User, foreign_key: distributor_id
标签: ruby-on-rails ruby-on-rails-4