我有一个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::Project
和Project
是否可以一起使用多态关联?