Вопросы к Поиску с Алисой
Разница между belongsto и hasone в контексте Active Record заключается в характере устанавливаемых связей между моделями. guides.rubyonrails.org tooleroid.com
belongs_to устанавливает одностороннюю связь «один к одному». guides.rubyonrails.org Таблица модели содержит столбец, который представляет собой ссылку на другую таблицу. guides.rubyonrails.org Например, каждая книга «знает» своего автора, но авторы не знают о своих книгах. guides.rubyonrails.org
hasone, в свою очередь, создаёт связь «один к одному», где текущая модель является родительской и владеет одним экземпляром другой модели. guides.rubyonrails.org Основное отличие от belongsto в том, что столбец связи (в данном случае supplierid) расположен в другой таблице, а не в той, где объявлено hasone. guides.rubyonrails.org
Таким образом, belongsto используется для односторонних связей, а hasone — для двусторонних. guides.rubyonrails.org