Для моих классовActiveRecord :: SubclassNotFound, независимо от того, какой столбец имя я выбираю
class User < ActiveRecord::Base
self.inheritance_column = :user_type
scope :customers, -> { where(user_type: '1') }
scope :freight_forwarders, -> { where(user_type: '2') }
end
class FreightForwarder < User
has_many :quotes, foreign_key: "ff_id"
end
class Customer < User
has_many :quotes, foreign_key: "ff_id"
end
[1] Я получаю следующее сообщение об ошибке, когда я пытаюсь вызвать User.customers
ActiveRecord :: SubclassNotFound: механизм наследования одной таблицы не смог найти подкласс: '1'. Эта ошибка возникает из-за того, что столбец «user_type» зарезервирован для хранения класса в случае наследования . Пожалуйста, переименуйте этот столбец, если вы не предполагали, что он будет , используемый для хранения класса наследования или перезаписывает User.inheritance_column, чтобы использовать другой столбец для этой информации.
[2], когда я пытаюсь вызвать Customer.all запрос выполняется, как это,
SELECT "users".* FROM "users" WHERE "users"."user_type" IN (0)
Я не могу понять, почему это «0» должно быть «1».
Спасибо большое, это сработало :) –