模型上的Ember夹具在开始时未加载

时间:2013-05-01 01:03:04

标签: ember.js ember-data fixtures

我有关于从特定型号加载Ember数据的问题。首先,我必须指出我正在使用require.js来加载所有依赖项。我加载所有控制器,视图,路线,然后,我将它们添加到我的全球Ember应用程序。此外,我有一个简单的模型,有几个字段作为固定装置。

所以,第一次像App.MyModel.find().toArray().length这样的回应我0.但是当应用程序启动时,如果我尝试运行这个句子,我会得到正确的值。

我试图找出毕竟执行的任何事件或方法(在控制器或路由中),但我没有得到它。我试图将controller.content设置为App.ready而没有成功的结果

有人可以帮我吗?

1 个答案:

答案 0 :(得分:1)

我的案例中的解决方案是“修复集”:

  1. 我必须拆分Ember应用程序对象,以便首先设置DS.Store的实例,并添加“模型”
  2. 在这个对象的第二部分,我添加了所有控制器,视图,路由器等
  3. 最后,当我扩展DS.Store对象时,我必须设置属性simulateRemoteResponse: true
  4. 最终的app.js代码如下:

    define(
        [ #dependencies ],
    
        function( #dependencies_objects ) {
    
            window.App = Ember.Application.create({
                VERSION: '1.0.0',
                LOG_TRANSITIONS: true,
    
                rootElement: '#app',
    
                // Store
                store: DS.Store.create({
                    revision: 12,
                    adapter : DS.FixtureAdapter.extend({
                        simulateRemoteResponse: false
                    })
                }),
    
                // Models
                Item: Item  // Where Item is my own model
            });
    
            App.reopen({
                // Routes
                IndexRoute: IndexRoute,
    
                // Load routes
                Router: Router,
    
                // Controllers
                ApplicationController: Ember.Controller.extend(),
                IndexController: IndexController
            });
    
        }
    );