В настоящее время у меня есть модель Transaction
, которая имеет много Documents
через две разные has_many => through
ассоциации.Многочисленные ассоциации обусловлены двумя различными способами, которыми можно генерировать Document
в нашем приложении:
CustomerApplication
, который имеет has_many :documents
ассоциацию CustomerScenario
с has_many :documents
ассоциацией
Мы добавили набор ассоциаций в нашу Transaction
модель для доступа к ассоциации CustomerApplications
и CustomerScenarios
, а также через ассоциации для доступа к их соответствующим Documents
.
has_many :customer_applications, dependent: :restrict_with_error
has_many :customer_application_documents, through: : customer_applications, source: :documents
has_many :customer_scenarios, dependent: :restrict_with_error
has_many :customer_scenario_documents, through: : customer_scenarios, source: :documents
С помощью этих ассоциаций мы можем легко получить два разных Document::ActiveRecord_AssociationRelation
для каждой из сквозных ассоциаций.Однако я хочу одним простым способом вернуть комбинированный Document::ActiveRecord_AssociationRelation
, который охватывает обе ассоциации.Например, что-то, что эффективно приводит к:
customer_application_documents + customer_scenario_documents
, но результат по-прежнему Document::ActiveRecord_AssociationRelation
, а не простой Array
.
Я пытался играть с Арелем, а также с некоторым сложным SQL.or
ActiveRecord не нравится :joins
в запросе or
, поэтому он тоже не рад.
Есть идеи здесь?Заранее спасибо!