rails:1703
From: "真中洋嗣" <manaka.y@g...>
Date: Wed, 11 Oct 2006 21:52:13 +0900
Subject: [rails:1703] Re: リレーションシップの外部参照 id が使えない
こんにちは、manakayと申します。 > 早速ですが、下のようなモデルを使って、1対1のリレーションを使おうとしています。 > > class Article < ActiveRecord::Base > has_one :comment > end > > class Comment < ActiveRecord::Base > belongs_to :article > end CommentはArticleにbelongしているわけですから、CommentテーブルにはFKが必要です。 ただのidキーはRailsではレコードのインスタンスを表すポインタみたいなものなので、article_idが必要です。article_idをテーブルに使えない理由でもあるのでしょうか。 > PPS 下のようなコードだと、エラーは発生しません。 > class Article < ActiveRecord::Base > has_one :comment > :foreign_key => "id" > end Articleの主キーをFKにも指定しているので、いつかおかしなことになりそうな気がします。1対1なので動くことは動くでしょうけど。それになにより気持ち悪いですよね。 article_idを使えないのなら、なにか別名のキーを用意して、それを:foreign_keyで指定してやればいいと思います。 -- //-------------------------------------------------------- // manakay // http://d.hatena.ne.jp/manaka_y/ // manaka.y@g... //-------------------------------------------------------- -- ML: rails@r... 使い方: http://QuickML.com/
1701 2006-10-10 17:27 [hoti_jp@y... ] リレーションシップの外部参照 id が使えない -> 1703 2006-10-11 14:52 ┗[manaka.y@g... ]