Я объединяю две модели с таблицей соединений, чтобы можно было установить статус для отношения:
class Test < ApplicationRecord
has_many :products_tests
has_many :products, through: :products_tests
def products_with_status
products_tests = ProductsTest.includes(:product).where(test_id: id)
products_tests.map do |products_test|
products_test.product.as_json.merge(status: products_test.status)
end
end
end
class Products < Application Record
has_many :products_tests
has_many :tests, through: :products_tests
end
class ProductsTest < ApplicationRecord
belongs_to :product
belongs_to :test
end
В ProductTest
есть столбец status
, который позволяет переключать продукт из"активный" - "пауза" для каждого теста.
Я хотел бы объединить в столбце status
, когда я использую ассоциацию products
из Test
. Я взломал вместе products_with_status
выше, но мне было интересно, есть ли более "Rails" способ сделать это.
Спасибо!