0

實現一個模式,我有一個名爲Lock模型,跟蹤兩個Students誰已鎖定與對方交易。我Lock模型具有屬性buyer_idseller_id這兩者的usersid的從我User模型。有沒有辦法有屬性buyerseller(用於Lock模型)直接訪問其相應User用不同的名字兩個獨立的屬性,但與同類型

例如,我想打個電話,如Lock.last.buyer.email,而不必經過user_id,如User.find(Lock.last.buyer_id).email

此外,將在語法這種差異做出更好的代碼?或者我只是爲了自己的可讀性而對語法進行改進?無論哪種方式,我想知道,如果它可能:)

回答

1

嘗試這些

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

還有更多的信息在the documentationbelongs_to

+0

應該遷移是在這種情況下怎麼辦? – roscioli

+1

'''add_column:鎖:buyer_id,:integer'''如果你要使用的反向關係,你也應該添加一個索引。 '''add_index:locks,:buyer_id'''。 '''seller_id'''相同。 – Serabe

相關問題