因此,我无法弄清楚多态关联/继承资源发生了什么,并且文档使我感到困惑,因为我不知道它的确切含义-在文档中指出:
目前,Inherited Resources 是有限的,不允许您嵌套两个多态关联。
但它继续展示这个例子。
您甚至可以将它与嵌套资源一起使用:
class CommentsController < InheritedResources::Base
belongs_to :project do
belongs_to :task, :file, :message, :polymorphic => true
end
end
-- 我的代码类似,但基本上,我需要可评论的项目,以及嵌套在项目下方的任务。-- 但是如果我执行以下操作,上面的代码只能半有效:
class CommentsController < InheritedResources::Base
belongs_to :project, :polymorphic => true do
belongs_to :task, :polymorphic => true
end
end
但是当我执行上述操作时,我仍然在我的项目视图中丢失了诸如 parent? 之类的方法,我需要使用这些方法来确定资源是项目还是任务,以便我可以调用正确的参数表单部分(因为我在一个选项卡中有项目评论表单,然后是任务选项卡,它是用 ajax 加载的表单来评论该任务)-
所以我想知道我上面所做的是否正是文档所指的限制,(但问题是,当我像上面那样嵌套它时,我可以为项目和任务发表评论,如果我不这样做的话我得到一个找不到多态关联错误,所以它似乎有点工作,减去缺少的方法),如果这不是嵌套这个设置的正确方法,如果有人有任何创造性的解决方法想法。