У меня есть проект Rails 5. У меня есть эти зависимые модели ...
class Order < ApplicationRecord
...
belongs_to :customer, :touch => true
...
class Customer < ApplicationRecord
...
belongs_to :program, :optional => true
Я хотел бы построить запрос заказов для клиентов, которые не принадлежат к программам с определенными номерами. Я также хотел бы включить Заказы для клиентов, не связанных с какой-либо программой. Однако этот запрос
items = Order
.joins(:customer => :program)
.where.not(
:programs => { :number => do_not_include_numbers }
)
не дает желаемых результатов, поскольку он не включает заказы для клиентов, не связанных с какой-либо программой. Я думаю, что мне нужно выполнить левое внешнее объединение здесь
.joins(:customer => :program)
, но я не уверен в синтаксисе объединения.