我有一個名爲Ad的ActiveRecord,它有列ID和server_id
。他們都是獨一無二的。 id由Rails給出,但這裏有意義的是server_id
。
然後我需要創建另一個名爲Bid的ActiveRecord
,它與Ad
有1對1的關係。出價有一個關鍵字ad_id
,指的是廣告。 server_id
。
除ID以外的Rails外鍵
我知道我應該指定Ad has_one Bid
和Bid belongs_to Ad
,並通過foreign_key指定外鍵名稱:"ad_id"
。在這裏困擾我的是我只能找到如何讓Bid。 ad_id
指的是Ad.id,而我希望它指的是廣告。 server_id
。
任何人都可以告訴我如何做到這一點?謝謝!
Bid.rb belongs_to:ad::foreign_key =>:ad_id,:primary_key =>:server_id 主鍵server_id實際上指向Ad.server_id,是否正確? – user1991452
你會匹配'Ad'表中的'server_id'和'Bid'表中的'ad_id'。它在我的控制檯上工作。您可以運行'Bid.joins(:ad).to_sql'在'rails console'中測試它,看看它在做什麼。 – tihom