我有一个名为Ad的ActiveRecord,它有列ID和server_id
。它们都是独一无二的。 id由Rails给出,但这里有意义的是server_id
。
然后,我需要创建另一个名为Bid的ActiveRecord
,其与Ad
具有1对1的关系。出价有一个键ad_id
,指的是广告server_id
。
我知道我应该指定Ad has_one Bid
和Bid belongs_to Ad
,并通过foreign_key指定外键名称:"ad_id"
。令我不安的是,我只能了解如何让出价。ad_id
引用Ad.id,而我希望它引用广告。server_id
。
任何人都可以告诉我如何实现这一目标吗?谢谢!
答案 0 :(得分:2)
用户主键
Bid.rb
belongs_to :ad, :foreign_key => :ad_id, :primary_key => :server_id
Ad.rb
has_one :bid, :foreign_key => :ad_id, :primary_key => :server_id
此处不需要 foregin_key
选项,但添加以使其与primary_key
之间有所区别。
答案 1 :(得分:0)
您是否尝试在生成模型时使用“references
”。
即。
rails generate model Advertisement bid:references