Какова правильная связь между этими двумя моделями? - PullRequest
1 голос
/ 08 июля 2011

Я строю блог, и я новичок в Rails. Сомнение заключается в том, как укрепить связь между этими моделями: сообщениями и языками.

Будет только два языка, и каждый пост будет (принадлежать / иметь) только один язык. Я думал, что правильно будет:

class Post < ActiveRecord::Base
  belongs_to :language
end

class Language < ActiveRecord::Base
  has_many :posts
end

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

Извините за такой вопрос новичка. Заранее спасибо.

1 Ответ

1 голос
/ 08 июля 2011

Вы правы.Если у вас есть две модели в отношениях «многие к одному», единственный вариант - поставить «1001» на «одну» модель и belongs_to на «много» модель.Итак, в вашем случае вы действительно хотите предоставить предоставленный вами фрагмент.

Помните, что это означает, что ваша таблица posts будет содержать столбец language_id (что выглядит правильно), и что ваш код будет ссылаться наpost.language и language.posts.

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