У меня есть несколько таблиц в моем приложении, которые разделяют большинство столбцов, я написал все проверки в одной модели и попытался сделать так, чтобы все другие модели наследовали от этой, но получил ошибку ActiveRecord::SublassNotFound
.
Вот коды для моих моделей:
hospial.rb
class Hospital < ActiveRecord::Base
validates :cnes, presence: true, numericality: true
validates :name, presence: true, length: { maximum: 80 }
validates :address, presence: true, length: { maximum: 50 }
validates :neighborhood, presence: true, length: { maximum: 30 }
validates :phone, presence: true, length: { in: 10..25 }
validates :latitude, :longitude, presence: true, length: { maximum: 20 }
validates :type, presence: true
pharmacy.rb
class Pharmacy < Hospital
self.table_name = 'pharmacies'
end
Обе таблицы имеют одинаковые столбцы, и я решил использоватьMTI увеличит масштабируемость моей базы данных, поскольку и в аптеке, и в больнице также будет ИППП для нескольких моделей.
Я получаю ошибку:
ActiveRecord::SubclassNotFound:
Invalid single-table inheritance type: Hospital is not a subclass of Pharmacy
Я бы хотелповторно использовать валидации и некоторые методы, которые я намереваюсь реализовать для обеих моделей.