У меня есть пользовательские объекты, которые должны ссылаться на статические значения в сторонних таблицах. У пользователей есть выбор моды и выбор еды. Таблицы выбора моды и выбора еды - это просто список строк, совпадающих с идентификатором. Хранение значений в отдельном файле (CSV, JSON) не подходит для моего бизнеса.
Я определил пользовательский метод:
def fashion_choice
FashionChoice.find_by(id: self.fashion_choice_id)
end
Это прекрасно работает, но дает мне проблему N + 1, потому что я не могу использовать includes
в моих запросах ActiveRecord из-за связи, определяемой в пользовательском методе.
Мне известно, что я могу использовать что-то вроде own_to в пользовательской модели, чтобы сообщить rails, что ключ находится в таблице Users, но странно говорить, что пользователь принадлежит моде. Есть ли лучший способ сделать это, или я просто должен сделать это идиоматическим способом Rails?
Таблица пользователей:
id name fashion_choice_id food_choice_id
Стол FashionChoice:
id name
1 Halloween
2 Holiday
3 Beach Santa
Таблица FoodChoice аналогична.