как сказать? Я не понимаю, что документация продолжения пытается сказать мне об ассоциациях в случае, если две модели связаны внешним ключом в одной модели A, являющейся первичным ключом в другой в случае may_to_one. Я всегда думал: если это много_к_одному в одном направлении, то должно быть одно_ко_многим в другом... но продолжение содержит запутанную главу, призванную прояснить тему, а также пример, который я не могу использовать.
В "Различия между many_to_one и one_to_one" говорится
Если вы хотите установить отношение 1-1 между двумя моделями, где внешний ключ > в одной таблице напрямую ссылается на связанную таблицу, вы должны использовать many_to_one в одной модели и one_to_one в другой модели. Как узнать, что использовать в какой модели? Самый простой способ запомнить, что модель, таблица которой имеет внешний ключ, использует many_to_one, а другая модель использует one_to_one.
И продолжает приводить этот странный пример:
# Database schema:
# artists albums
# :id <----\ :id
# :name \----- :artist_id
# :name
class Artist
one_to_one :album
end
class Album
many_to_one :artist
end
В альбомах я могу найти несколько строк, указывающих на одного и того же исполнителя... почему бы исполнителю не указывать на все свои альбомы? Продолжение документа во многих случаях безумно трудно читать, но эта глава читается легко, но для меня не имеет смысла :(
Artist
может иметь только 1Album
(one_to_one
), но многиеAlbum
могут принадлежать 1Artist
(many_to_one
). Я думаю, что это просто означает показать разницу между ассоциациями, поскольку каждая из них более подробно описана выше, но они могли бы выбрать гораздо лучший пример. - person engineersmnky   schedule 02.01.2018