1

我正在尝试让 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()
});

我一直在使用 ember rails 生成器,但整个事情看起来很不稳定,请帮忙!

4

2 回答 2

3

当使用 Ember 的新路由器时,它希望您提供一个名为App.Store. 然后将其实例化为App.router.store. 该store属性还会在路由器实例化的任何控制器上自动设置。

于 2012-08-13T05:02:35.700 回答
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({

});
于 2012-07-02T03:35:18.700 回答