我有一个名为Lock
的模型,它跟踪两个相互锁定交易的Students
。我的Lock
模型具有属性buyer_id
和seller_id
,这两个属性都是来自User
模型的users
的id
。有没有一种方法可以让属性buyer
和seller
(对于Lock
模型)直接访问它们相应的User
?
例如,我想进行类似Lock.last.buyer.email
的调用,而不必像User.find(Lock.last.buyer_id).email
那样通过user_id
。
此外,这种语法上的差异会产生更好的代码吗?还是我只是为了自己的可读性在语法上做了改进?无论哪种方式,我都想知道是否可能:)
试试这些
belongs_to :buyer, class_name: "User", foreign_key: :buyer_id
belongs_to :seller, class_name: "User", foreign_key: :seller_id
文档中提供了有关belongs_to
的更多信息。