Я занимаюсь разработкой простого движка Rails, в котором у меня есть абстрактные родительские модели:
class MyEngine::Address < ApplicationRecord
self.abstract_class = true
has_one :location
end
class MyEngine::Location < ApplicationRecord
self.abstract_class = true
belongs_to :address
end
, а в приложении, где я включил свой движок, у меня есть это:
class Address < MyEngine::Address
end
class Location < MyEngine::Location
end
Я могу создать эти адреса и адреса, как всегда:
a = Address.create! # works
l = Location.create!(address: a) # works, too
Но когда я делаю что-то вроде этого:
a.location
# or
Address.first.location
Я получаю это:
Ошибка типа: нет неявного преобразования nil в строку из /var/lib/gems/2.5.0/gems/activerecord-6.0.2.2/lib/active_record/connection_adapters/postgresql/utils.rb:26:in `quote_ident '
Я пытался отладить это, но единственное понимание состоит в том, что table_name
не установлен для ассоциации местоположения при вызове его с адреса.
Кто-нибудь знает, что здесь происходит?