У меня есть модель 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
для совместной полиморфной ассоциации?