Rails Model Relationship: имеет один, но также принадлежит многим - PullRequest
1 голос
/ 14 апреля 2010

У меня есть две модели, Modela и Modelb.

Modela может владеть только одной Modelb, но Modelb может быть частью многих Modela.

Сейчас у меня есть

class Modela < ActiveRecord::Base
  has_one :modelb
end

class Modelb < ActiveRecord::Base
  belongs_to :modela, :foreign_key => "modela_id" #might not make sense?
end

Не совсем уверен во всем, что я делал там: foreign_key, но именно там я и остановился. Поскольку я пытаюсь разрешить Modelb быть частью многих Modela, я не хочу добавлять поле modela_id в таблицу Modelb.

Каков наилучший способ сделать это?

1 Ответ

3 голосов
/ 14 апреля 2010

Должно быть:

class Modela
  belongs_to :modelb
end

class Modelb
  has_many :modela
end

И модель как таблица должна содержать modelb_id столбец.

...