У меня есть 3 модели: Клиенты, Магазины, Регистрация (список рассылки)
(Регистрации являются их собственным объектом, поскольку они имеют состояние, в котором включен, отключен, занесен в черный список и т. Д.)
Покупатели и магазины достаточно независимы и в настоящее время не имеют прямой связи друг с другом.
Однако мы добавляем конструкцию «список рассылки», регистрации:
Signup belongs_to :store AND :customer
Store has_many :signups
Customer has_many :signups
Мне не ясно, при каких условиях мне нужно будет включить:
store has_many :customers, :through => :signups
customer has_many :stores, :through => :signups
Без: сквозного, когда store X отправляет широковещательную электронную почту в свой список рассылки, мы просто позволяем mail_list = Customers.signup.find (где store_id соответствует X)
Вопрос 1: есть ли проблемы с этим подходом?
Вопрос 2: если бы мы добавили: through, как бы выглядел запрос, чтобы получить всех покупателей, у которых есть «подписка» на текущий магазин?
Вопрос 3: если у нас было 3 или 3 разных совместных стола между покупателями и магазинами (например, заказы, счета, регистрация, дисконт-клубы), это создает какие-либо проблемы?