Абстрактные модельные ассоциации не работают внутри детей - PullRequest
0 голосов
/ 24 апреля 2020

Я занимаюсь разработкой простого движка 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 не установлен для ассоциации местоположения при вызове его с адреса.

Кто-нибудь знает, что здесь происходит?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...