Rails: попытка создать отношение has_many из двух таблиц в одну таблицу - PullRequest
0 голосов
/ 21 января 2011

У меня есть две модели со связанными таблицами (villa_rooms & homes). Оба имеют ставки, связанные с ними. Я хотел бы использовать только одну модель «ставок» с соответствующей таблицей для хранения ставок как для villa_rooms, так и для домов.

Я создал следующее для villa_rooms, но он не находит связанных тарифов:

class VillaRoom < ActiveRecord::Base
  has_many :villa_room_rates
  has_many :rates, :through => :villa_room_rates
end

class VillaRoomRates < ActiveRecord::Base
  belongs_to :villa_room
  belongs_to :rate
end

class Rate < ActiveRecord::Base
  has_one :villa_room_rate
  has_one :villa_room, :through => :villa_room_rates
end

Когда я пытаюсь запустить VillaRoom.find (1) .rate, я получаю следующую ошибку

NameError: uninitialized constant VillaRoom::VillaRoomRate

Любая помощь очень ценится.

Спасибо!

1 Ответ

1 голос
/ 21 января 2011

Я думаю, что это опечатка в вашем классе VillaRoomRates, попробуйте в единственном числе.

Если вы хотите поведение по умолчанию от Rails, все имена ваших моделей должны быть в единственном числе. Но таблицы будут созданы с именами во множественном числе.

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