使用具有不同名称但具有相同类型的两个单独属性实现模型

时间:2014-01-28 01:14:17

标签: ruby-on-rails ruby-on-rails-4 model-associations rails-models

我有一个名为Lock的模型,它跟踪两个已经相互锁定交易的Students。我的Lock模型的属性buyer_idseller_id都属于id模型users的{​​{1}}。有没有办法让属性Userbuyer(对于seller模型)可以直接访问相应的Lock

例如,我想拨打User之类的电话,而不必像Lock.last.buyer.email一样通过user_id

此外,这种语法差异是否会产生更好的代码?或者我只是为了自己的可读性而进行语法改进?无论哪种方式,我想知道它是否可能:)

1 个答案:

答案 0 :(得分:1)

试试这些

belongs_to :buyer, class_name: "User", foreign_key: :buyer_id
belongs_to :seller, class_name: "User", foreign_key: :seller_id

the documentation中有关belongs_to的更多信息。