рельсы модель отношений и миграции - PullRequest
0 голосов
/ 16 марта 2011

У меня возникла проблема с попыткой понять, когда я создаю приложение rails с несколькими моделями и связями между ними ...

Если я возьму базовый пример, такой как модель группы, модель пользователя и модель автомобиля

class Group < ActiveRecord::Base
   has_many :users
end 
class User < ActiveRecord::Base
  belongs_to :group
  has_many :cars
end 
class Car < ActiveRecord::Base
  belongs_to :user
end

Будут ли эти операторы отношений автоматически создавать следующие функции:

  • group.users
  • user.group
  • user.cars
  • car.user

Кажется, что нам иногда нужно создавать "ссылки" при миграции (например, добавление ссылки на пользователя в таблице Car), но всегда ли это требуется? В этом случае, чем отличается создание миграции и добавление оператора связи в модели? У меня иногда возникает ощущение, что это используется для той же цели.

Большое спасибо за вашу помощь,

С уважением,

Люк

1 Ответ

2 голосов
/ 16 марта 2011

Объявления ассоциации существуют только для Rails.Вы должны определить внешние ключи (ссылки) в базе данных, чтобы Rails мог правильно сохранить данные.

Помните, что, несмотря на все чудеса, он все еще опирается на реляционную базу данных, поэтому хорошие практики в конечном итоге окупятся.

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