Ваша проблема в том, что Something
является абстрактным классом:
class Something < ApplicationRecord
self.abstract_class = true # <-------------------------
Абстрактные классы не предназначены для непосредственного создания экземпляров, вы должны создавать их подклассы и создавать экземпляры подклассов.Свойство abstract_class
в большей или меньшей степени является способом подкласса моделей без вызова STI (Single Table Inheritance).
Либо используйте Something
в качестве базового класса для моделей во второй базе данных, либо удалите self.abstract_class = true
, чтобы сделать его «настоящим» классом модели.
Что касается вашей ошибки no implicit conversion of nil into String
, помните, что классы абстрактной модели не имеют имен таблиц и не могут быть созданыот документация :
class Shape < ActiveRecord::Base
self.abstract_class = true
end
Polygon = Class.new(Shape)
Square = Class.new(Polygon)
Shape.table_name # => nil
Polygon.table_name # => "polygons"
Square.table_name # => "polygons"
Shape.create! # => NotImplementedError: Shape is an abstract class and cannot be instantiated.