2013-04-10 83 views
1

我得到这个错误:灰烬抱怨未定义的命名空间

Uncaught Error: assertion failed: You are looking for a edit controller in the Node namespace, but the namespace could not be found 

但是如果我检查的对象(Chrome开发者工具),我确认:

  • App.NodeEditController定义
  • Ember.TEMPLATES['node/edit']是(我正在使用预编译模板)
  • 模型App.Node定义为

什么可能导致此问题?我还能验证什么?这是什么namespace的事情?我以前没有用过它,而且我的应用程序正在运行。

我所做的唯一更改与我的代码库重组有关:我已将模板/控制器/模型/视图拆分为文件 - 但它们与grunt任务再次连接,因此不应该存在实际更改(从事实APPART,我现在使用的预编译模板)

我也验证了SettingsApp.Router.router.recognizer.names

router names

+0

难道你带下来到仍未一个小例子,和(如果你喜欢)张贴在像jsFiddle的地方?我怀疑真正的问题可能在代码中的其他地方。 – emk 2013-04-10 13:46:17

+0

该错误读取就好像EditController被定义为Node.EditController或App.Node.EditController一样。所以你需要展示更多的代码,如果情况并非如此。 – mavilein 2013-04-10 13:58:27

+0

@gonvaled,你可以通过从你的应用程序启动chrome开发工具来做App.Router.router.recognizer.names来验证你的路由知道你的路由,希望它帮助 – intuitivepixel 2013-04-10 14:04:13

回答

1

这个问题解决了,至少可以导航到编辑路线再次

改变这一点:

SettingsApp.NodeController = Ember.ObjectController.extend({ 
    isEditing: false, 
    needs: [node/edit] 
    ... 

这个(删除需求)

SettingsApp.NodeController = Ember.ObjectController.extend({ 
isEditing: false 
... 

希望它可以帮助...