1

Ad という名前の ActiveRecord があり、列 ID とserver_id. どちらもユニークです。id は Rails によって与えられますが、ここで意味があるのはserver_id.
次に、 とActiveRecord1 対 1 の関係を持つ Bid という名前の別の名前を作成する必要がありますAd。入札にはad_id広告を参照するキーがあります。server_id.

Ad has_one Bidと を指定しBid belongs_to Ad、foreign_key: で外部キー名を指定する必要があることはわかっています"ad_id"。ここで私を悩ませているのは、入札を許可する方法しか見つけられないことです。ad_idAd を参照したいときに Ad.id を参照します。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モデルの生成時に「 」を使用してみましたか? すなわち

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