所以让我有一个交易模型。
Transactions.rb有:
belongs_to :buyer, :class_name => "User"
belongs_to :seller, :class_name => "User"
使用current_user访问登录的用户。
我怎样才能做类似current_user.transactions的事情? (这不起作用,因为事务没有user_id列)或类似current_user.transactions.buyer?
谢谢!
(也是用户模型has_many:transactions)
答案 0 :(得分:3)
Rails中的所有关联都是单向的。
因此,对于每个belongs_to
,您需要在另一方添加has_many
或has_one
。
我建议你想要这样的东西;
class User
has_many :transactions_as_buyer,
:class_name => "Transaction",
:foreign_key => :buyer_id
has_many :transactions_as_seller,
:class_name => "Transaction",
:foreign_key => :seller_id
end
现在你可以说;
current_user.transactions_as_seller.map(&:buyer)
获得一系列买家。
当然,根据您的应用,您的名字可能比“transactions_as_buyer / seller”更好