Можно ли добавить ссылки на столбец, отличный от столбца id
?Добавить ссылки на выбранный столбец, отличный от id
Обычно, когда отношения между двумя моделями (Model1 и model2) создаются, использование model1:references
и model2:references
для создания модели Relationship автоматически добавляет столбец model1_id
и model2_id
(наряду с индексом и внешним ключом ссылкой) для использования в model1/model2 ассоциации:
rails generate Relationship model1:references model2:references
Скажем, например Model1 = Teacher
и Model2 = Pupil
.
Предположим, что записи Model2 (записи учеников) обновляются время от времени с помощью рейк-задачи: значения ее атрибутов (например, name
и school_credits
) будут меняться, сохраняя id
и ranking
(от 1 до 100).
Ассоциированный преподаватель с pupil_id
не имеет большого смысла.
Каждый учитель должен быть связан с именами своих учеников, используя в качестве ссылки на внешний ключ атрибут pupil.name
вместо pupil.id
.
Возможно ли это?
Какие опции я могу добавить в команду rails generate Relationship
или что reference am Я должен добавить, чтобы иметь этот результат?
Если вы ассоциируете Ученика с именем, а имя ученика изменилось, как бы вы определили связь? –
Скажите id 1 ранг 1 - Пол с 100 кредитами, 1d 2 ранг 2 - Кевин с 90 кредитами и id 3 ранга 3 - Ли с 80 кредитами. Если Lea зарабатывает 30 кредитов, то идентификатор 1 ранга 1 обновляется с именем Lea и 110 кредитов. Пол и Кевин тоже меняются. Если Lea является учеником учителя1, учитель1 должен быть связан с Lea, а не с id 3. – Asarluhi