Имя класса поиска полиморфных ассоциаций с моделью пространства имен - PullRequest
0 голосов
/ 04 января 2019

У меня есть модель Project.

class Project < ActiveRecord::Base
  has_many :foos, as: :target # polymorphic
end

Я также применил шаблон пространства имен для расширения Project, чтобы администраторы могли манипулировать:

class Admin::Project < Project
  def action_for_admin; end
end

Это в основномдля контроллеров Admin.

Однако, поскольку Project имеет много foos, что является полиморфной ассоциацией.Admin::Project не может найти ассоциацию должным образом.

Вызов Admin::Project.first.foos дает этот SQL:

SELECT "foos".* FROM "foos" WHERE "foos"."target_id" = $1 AND "foos"."target_type" = $2  [["target_id", 1], ["target_type", "Foo::Project"]]

target_type ищет Admin::Project, но на самом деле содержит "Project"

Есть ли способдля Admin::Project и Project для совместной полиморфной ассоциации?

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