Как написать именованную область для Аудитов, у которых нет аудиторов?

Я использую Audit драгоценный камень в моем приложении Ruby on Rails. Я использовал полиморфную связь между ревизиями и моими Orders,

Теперь я хочу написать именованную область, чтобы получать только те Аудиты, для которых Заказ не удален (Это происходит потому, что Заказ удаляется после создания Аудита

<Audit id:110,
auditable_id:4,
auditable_type:"Order",
user_id:1,
user_type:"User",
username:nil,
action:"create",
created_at:"2018-04-07 09:06:20">,
#<Audit id:49,
auditable_id:3,
auditable_type:"Order",
user_id:3,
user_type:"User",
username:nil,
action:"create",
created_at:"2018-04-06 12:28:41">

Теперь, когда я ввожу Audit.first.auditable в моей консоли, я получаю nil как порядок, соответствующий тому, что Audit удален, и когда я вхожу в Audit.second.auditable, я получаю порядок, соответствующий второму Audit.

Я хочу отфильтровать свой Аудит так, чтобы Аудиты того типа, где был удален заказ, были удалены (например, Audit.first)

1 ответ

Решение

Вы можете сделать это так:

Audit.rb

scope :with_active_orders, -> { joins(:order) }

Который вернется Audits если есть хотя бы один Order,

Другие вопросы по тегам