В руководстве Rails Ассоциации ActiveRecord я запутался, почему таблицы для has_one
и has_many
идентичны:
Примеры таблиц для has_many
:
customers(id,name)
orders(id,customer_id,order_date)
Примеры таблиц для has_one
:
эти таблицы на уровне базы данных также позволят поставщику иметь много учетных записей, но нам просто нужна одна учетная запись на каждого поставщика
suppliers(id,name)
accounts(id,supplier_id,account_number) #Foreign Key to supplier here??
Не должны ли таблицы для has_one
быть такими:
suppliers(id,name,account_id) #Foreign Key to account here
accounts(id,account_number)
Теперь, поскольку account_id
находится в таблице поставщиков, поставщик никогда не может иметь более одной учетной записи.
Неправильно ли приведен пример в Руководстве по Rails?
Или Rails использует подход has_many
, но ограничивает выполнение части many
?