Модель рельсов has_many, принадлежит_отношениям - PullRequest
22 голосов
/ 05 января 2012

У меня есть 2 модели

 class User < ActiveRecord::Base
   has_many :products
 end

class Product < ActiveRecord::Base
  belongs_to :user
end

Нужно ли добавлять столбец user_id в таблицу Product или рельсы добавляют его по умолчанию?

1 Ответ

50 голосов
/ 05 января 2012

Вам необходимо вручную добавить столбец user_id в модель Product.Если вы еще не создали свою модель, добавьте ссылку в списке столбцов в генератор моделей.Например:

rails generate model Product name:string price:decimal user:references

Или, если ваша Product модель уже существует, вам нужно сделать следующее:

rails g migration addUserIdToProducts user_id:integer

Это создаст миграцию, которая правильно добавит столбец user_id в таблицу products.При правильном названии столбца (user_id) Rails узнает, что это ваш внешний ключ.

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