1

我有一个名为 Ad 的 ActiveRecord,它有列 id 和server_id. 它们都是独一无二的。id 由 Rails 给出,但这里有意义的是server_id.
然后我需要创建另一个ActiveRecord名为 Bid 的 Bid 与 1 对 1 关系Ad。Bid 有一个ad_id指向 Ad 的键。server_id.

我知道我应该指定Ad has_one Bidand Bid belongs_to Ad,并通过 foreign_key: 指定外键名称"ad_id"。这里困扰我的是我只能找出如何让投标。ad_id参考 Ad.id 而我希望它指的是 Ad。server_id.
谁能告诉我如何实现这一目标?谢谢!

4

2 回答 2

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清晰。

于 2013-09-25T04:47:30.063 回答
0

您是否尝试过references在生成模型时使用“”。IE

rails generate model Advertisement bid:references
于 2013-09-25T04:38:45.290 回答