2014-12-07 72 views
0

我有一个模型Post以及它的相关控制器和路由。在PostsRou​​te中,我有:Ember App.Object.find()不起作用,但this.store.find('object')起作用

App.PostsRoute = Ember.Route.extend({ 
    model: function(){ 
     return this.store.find('post'); 
    }, 
}) 

这工作正常。然而,

App.PostsRoute = Ember.Route.extend({ 
    model: function(){ 
     return App.Post.find(); 
    }, 
}) 

息率这样的错误:

Error while processing route: posts.index undefined is not a function TypeError: undefined is not a function 
    at App.PostsRoute.Ember.Route.extend.model (http://localhost:3000/assets/routes/posts_route.js?body=1:4:25) 
... 

我猜想,这可能会影响这些数据可以从其他控制器访问(这是最后我想要做的方式,但我会很很想知道为什么App.Post.find()不起作用

+2

你引用一个旧的辅导?工作的版本是你应该使用的版本。另一个很久以前就被删除了。 – 2014-12-07 15:31:56

+0

哦,我的。我的确在遵循一个教程。那么,在这种情况下,我将结束这个问题。谢谢。 – Darshan 2014-12-07 17:38:38

回答

0

当你需要在控制器之间共享数据时,你可以使用“needs”属性 所以如果你需要你的后控制器和你在另一个控制器中可以使用依赖关系。

App.SomeOtherController = Ember.ObjectController.extend({ 
 
    needs: "post" 
 
});

http://emberjs.com/guides/controllers/dependencies-between-controllers/

+0

我确实使用this.store.find()方法。事实证明,我正在关注一个老的教程,所以试图访问Post.find.all并不是要走的路。 – Darshan 2014-12-07 18:21:22

相关问题