Ruby on Rails - Получение «Mysql2 :: Ошибка: неизвестный столбец» для отношения один ко многим - PullRequest
0 голосов
/ 09 февраля 2011

У меня есть две модели, модель_1 и модель_2.

model_1.rb:

has_many :model_2s

model_2.rb:

belongs_to :model_1

Но когда я пытаюсь сделать @model_1.model_2s, я получаю следующую ошибку:

ActionView::Template::Error (Mysql2::Error: Unknown column 'model_2.model_1_id' in 'where clause': SELECT `model_2`.* FROM `sketches` WHERE (`model_2s`.model_1_id = 1))

У меня та же проблема с использованием SQLite3. Заранее спасибо за помощь.

1 Ответ

1 голос
/ 09 февраля 2011

has_many по умолчанию полагается на соглашения.

has_many :model_2s

будет использовать столбец "model_1_id" в таблице "model_2" по умолчанию, чтобы найти, к какой модели "model_1" он принадлежит (эй, вы выбрали название модели;)) Но вы, похоже, упускаете этот столбец.

По неизвестным причинам (если вы не предоставите файлы миграции) в вашей таблице отсутствует этот столбец.

...