Rails: изменение отношений после начальной миграции - PullRequest
2 голосов
/ 25 сентября 2011

У меня возникли проблемы с поиском хорошего ответа на мой вопрос о создании отношений на рельсах.

Если я уже выполнил начальную миграцию для своей модели пользователя и модели комментариев Без объявления отношения (т. Е. Пользователь has_many комментирует, а комментарии принадлежат пользователю), как я могу определить это отношение позже?

Могу ли я просто: 1 - добавить столбец user_id в Комментарии, 2-объявить отношения и 3-запустить новый файл миграции add_user_id_to_comment?

Будет ли это работать? Если нет, как бы я изменил отношения после того, как уже запустил начальную миграцию для моделей? Большое спасибо за вашу помощь. \

Rails 3.1, Ruby 1.8.7

1 Ответ

3 голосов
/ 25 сентября 2011

Вы можете просто добавить ссылку в другой миграции, используя миграцию change_table ( документация ):

change_table :comments do |t|
  t.references :user
end

Затем просто добавьте ассоциации к своим моделям.

class User < ActiveRecord::Base
  has_many :comments
end

class Comment < ActiveRecord::Base
  belongs_to :user
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...