我有一个场景,我必须在父控制器和子控制器中使用belongs_to关联。在这种情况下,像collection_url这样的帮助器生成错误,我得到了未定义的方法....
以下是我的情景..
class ProjectController < InheritedResources::Base
class JavaProjectController < ProjectController
class TaskController < InheritedResources::Base
belongs_to :project
end
class JavaTaskController < TaskController
belongs_to :java_project
end
在上面的场景中,当我尝试在<%= collection_url %>
下的视图中生成JavaTaskController
时,出现以下错误:
NoMethodError ... java_project_java_project_java_tasks_url
如果在collection_url
的上下文中调用TaskController
,一切正常。
但是,如果我在belongs_to
中注释掉TaskController
关联,那么现在collection_url
在JavaTaskController
的上下文中运行时可以正常工作。
我错过了什么?这是一个错误还是限制?还是我在做些傻事?
非常感谢这方面的任何帮助。