У меня есть эти модели:
class Product < ApplicationRecord
has_many :units
end
class Unit < Product
belongs_to :product
end
В вышеприведенных моделях используется только одна таблица, которая называется 'products'
таблица.
create_table :products do |t|
t.string :code
t.integer :product_id
t.string :type
t.string :status
...
end
Что я хочу, чтобы получить все units
, где products.status
равно active
.
Я пытался Unit.joins(:product).where(products: { status: 'active' })
, но не повезло
Вот текущие данные, которые у меня есть
| id | type | product_id | status |
|----|:-------:|-----------:|---------|
| 1 | Product | null | deleted |
| 2 | Product | null | active |
| 3 | Unit | 1 | active |
| 4 | Unit | 1 | active |
| 5 | Unit | 2 | active |
Все, что я хочу получить, это
| id | type | product_id | status |
|----|:-------:|-----------:|---------|
| 5 | Unit | 2 | active |