我正在尝试让emberjs在rails上工作,并且一直在学习本教程:
http://www.zhubert.com/blog/2012/04/28/ember-dot-js-and-rails-part-2/
当我尝试在浏览器控制台中运行此命令时:
var posts = App.store.findAll(App.Post)
我收到错误,因为商店里没有findAll方法。我正在使用ember-data并正在设置这样的商店:
App.store = DS.Store.extend({
revision: 4,
adapter: DS.RESTAdapter.create()
});
我一直在使用余烬轨道发电机,但整个事情看起来很好看,请帮忙!
答案 0 :(得分:3)
使用Ember的新路由器时,它希望您提供一个名为App.Store
的类。然后将其实例化为App.router.store
。 store
属性也会在路由器实例化的任何控制器上自动设置。
答案 1 :(得分:0)
好的修复了问题。 rails生成器生成了错误的代码。
此:
App.store = DS.Store.extend({
revision: 4,
adapter: DS.RESTAdapter.create()
});
应该是:
App.store = DS.Store.create({
revision: 4,
adapter: DS.RESTAdapter.create()
});
另外,我可能会提到其他任何有问题的人,ember-rails生成器也会创建这个:
App.ApplicationController = Ember.ObjectController.extend({
});
应该是:
App.ApplicationController = Ember.Object.extend({
});