Мне нужно указать имя поля, отличное от таблицы для объединения

Учитывая, что у меня есть модель 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 указывает поле для ссылки. Второй означает, что модель/класс используется в качестве ссылки.