Я работаю в приложении для рельсов, где компания имеет несколько заказов. У заказа есть имя, и все. В заказе может быть несколько телевизионных_сообщений, радио_меток и газетных номеров, данные в этих таблицах не одинаковы, поэтому их нужно разделить. Теперь, если в order_many radio_placements у него нет телевизионных_пакетов или газетных номеров. Мой вопрос заключается в том, что плохая практика имеет отношение has_many к модели, даже если она не существует? Было бы лучше, если бы у компании были какие-то телевизионные_диаграммы и телевизионные_пользователи? И, таким образом, у компании есть несколько радиообъявлений и радиообмена с несколькими радиостанциями и т. Д. Я думаю, что первый вариант - это сушка, но использование второй стратегии может привести к более понятному понятному коду, поскольку приложение растет и что мы делаем с изменениями данных.Использование нескольких ассоциаций has_many на одной модели
0
A
ответ
0
Неплохая практика иметь ассоциацию has_many, которая фактически не имеет связанных моделей. Реальный вопрос: какой тип объекта должен быть связан radio_placements
, television_spots
и newspaper_placements
. Если они действительно должны быть связаны с моделью Order
, тогда разместите там ассоциации. Из моего понимания вашего вопроса/формы данных, похоже, вы хотите, чтобы эти отношения находились на модели Order
. Так что-то вроде:
class Company
has_many :orders
has_many :television_spots, through: :orders
has_many :radio_placements, through: :orders
has_many :newspaper_placements, through: :orders
end
class Order
has_many :television_spots
has_many :radio_placements
has_many :newspaper_placements
end
Надеюсь, это поможет.
Очень сложно прочитать ваш вопрос, использовать короткие предложения и извлечь код в блоки кода для чтения – Alireza