Ruby

2014-10-12, ruby rails

belongs_toとhas_oneの違い

モデルの関連付けでいつも迷ってしまうのですが、うまく説明している記事(参考URL)を見つけました。以下のような原則を持っていれば、もう迷わない…と思います(まだ自身無し)。

そのモデル自身が(対象モデルへの)外部キーを持っている時は、belongs_to
それ以外は、has_one を使う。

ちなみに、has_oneとhas_manyはthroughというキーワードもあって、これを使って多対多の関連付けなんかも可能です。こちらはまたおいおい…。

class Event < ActiveRecord::Base
  has_many :tags, through: :events_tags
end

参考URL

この記事は役に立ちましたか?