Мне нужно указать имя поля, отличное от таблицы для объединения
Учитывая, что у меня есть модель Artifact и модель User: я хотел бы определить два поля Artifact, opens_by и assign_to, значения которых являются идентификаторами пользователя и наследуют все правильные методы ассоциации.
Какая уместна опция own_to или has_one или has_many, которую я должен установить?
Цель состоит в том, чтобы иметь возможность ссылаться на имя пользователя через оператор hld.assiged_to.name
, где hld - артефакт.
Спасибо за помощь. Я смущен терминологией со всем чтением, которое я сделал по этой проблеме.
Ответы
Ответ 1
Ниже мы выяснили, что это правильно.
class Artifact < ActiveRecord:: Base
belongs_to: проект
принадлежит_to: opens_by,: class_name = > 'Пользователь'
belongs_to: assign_to,: class_name = > 'Пользователь'
Первый аргумент в свойстве belongs_to указывает поле для ссылки. Второй означает, что модель/класс используется в качестве ссылки.