рельсы 3.1 - has_one, через - PullRequest
0 голосов
/ 02 февраля 2012

Можно ли заставить отношения has_one работать следующим образом?

Я бы хотел иметь возможность загружать такие записи:

@person = Person.find(1) => {Person id: 1, favorite_house_id: 10}
@person.favorite_house => {House id: 10....)

class Person < ActiveRecord::Base
  has_many :houses, through: :person_houses
  has_one :favorite_house, through: :person_houses     
end

class PersonHouse < ActiveRecord::Base
  belongs_to :house
  belongs_to :person
end

class House < ActiveRecord::Base
  has_many :people, through: :person_houses
end

1 Ответ

0 голосов
/ 02 февраля 2012

Заменить has_one отношение Человека на:

belongs_to :favorite_house, :class_name => "House"

Не забудьте создать столбец favorite_house_id в таблице Person.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...