Что произойдет, если вы используете belongs_to без соответствующего has_one?
У меня есть базовая модель для Item
и script, чтобы заполнить ее из пользовательского источника (думаю, RSS-канал). В фиде каждый элемент идентифицируется с помощью guid
; в моей системе Item имеет только автогенерируемый первичный ключ id
.
Я хочу, скажем, ItemFeedInfo
, который отображает guid->id
(чтобы я мог различать новые и модифицированные элементы)
Я собираюсь создать
class ItemFeedInfo
belongs_to :Item
end
Я бы предпочел не изменять Item
, так как его определение логически не зависит от ItemFeedInfo
Однако каждый пример, который я могу найти при использовании belongs_to
, упоминает аналог has_one
. Это необходимо?
Ответы
Ответ 1
Это не имеет значения.
belongs_to
просто добавляет некоторые методы в класс ItemFeedInfo
. Вы знаете, когда вы делаете item_feed_info.items.find_all
... items
- это просто метод, который динамически добавляется при вызове belongs_to
.
Если вы не изменяете класс Item
, вы просто не будете добавлять методы с другой стороны. Вы не сможете сделать item.item_feed_infos.find_all
, потому что без добавления has_many :item_feed_infos
этот метод не будет добавлен в класс Item
, но если вам действительно не нужно это делать, это не имеет значения.