具有命名空间模型的多态关联查找类名称

时间:2019-01-04 02:07:49

标签: ruby-on-rails

我有一个Project模型。

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

我还应用了命名空间模式来扩展Project,以便管理员进行操作:

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

这主要用于管理员控制器。

但是,由于Project具有许多foo,这是一个多态关联。 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::ProjectProject是否可以一起使用多态关联?

0 个答案:

没有答案