У меня есть следующие таблицы
class Product < ActiveRecord::Base
belongs_to :product_type
self.inheritance_column = :product_type_id
end
class MotorProduct < Product
end
class CarProduct < Product
end
У меня также есть эта запись в моей базе данных
Product table records
#<Product id: 1, product_type_id: 1, company_id: 36, name: "Text Motor Insurancee">
Product Type table records
#<ProductType id: 1, name: "Motor">
#<ProductType id: 2, name: "Car">
Когда я делаю MotorProduct.all, он возвращается пустым.Это то, что мой запрос выполняет
SELECT "products".* FROM "products" WHERE "products"."product_type_id" IN (0)
, что означает, что он не смог правильно отобразить идентификатор типа продукта. Не уверен, как отобразить его, но в основном, когда я запускаю MotorProduct.all
, я ожидаю, что мойзапрос будет
SELECT "products".* FROM "products" WHERE "products"."product_type_id" IN (1).
Я знаю, что могу легко решить все это, если я добавлю столбец с именем type
и дам типу то же имя MotorProduct
, но так как текущий код имеет эту структуру, япытаясь понять, смогу ли я как-нибудь это поддержать.
Любая помощь приветствуется