Я устанавливаю простую связь has_many через отношения. Мне было интересно, есть ли какие-либо передовые методы, которые я должен учитывать при настройке отношений внешнего ключа.
Приложение предназначено для того, чтобы пользователи могли создавать элементы и объявления, где модель списка используется для соединения элементов с рекламой (модель списка также имеет временные метки и поле заказа).
Главный вопрос у меня такой: какие модели должны принадлежать пользовательской модели? Я думал, что самое простое решение — это иметь список own_to user. Таким образом, я могу использовать сквозное отношение has_many, чтобы выяснить, какие элементы и какие объявления принадлежат каждому пользователю.
Однако мне пришло в голову, что это может оставить некоторые пробелы в зависимости от того, какие рабочие процессы я хочу сделать возможными. Например, что, если пользователь хочет создать несколько элементов, прежде чем создавать объявление, в котором есть эти элементы? Что, если пользователь создаст объявление до того, как создаст какие-либо элементы?
Основываясь на вышеизложенном, я подумал, что, возможно, мне следует просто сделать рекламу и элементы принадлежащими пользователю. Если я это сделаю, есть ли какая-то очевидная причина также сделать список принадлежащим пользователю? Я собирался это сделать, но почему-то мне это показалось излишним.
Это кажется довольно типичной ситуацией, с которой можно столкнуться в приложении для рельсов, поэтому я надеялся, что кто-то с опытом был здесь и мог бы поделиться некоторыми соображениями.
Спасибо!