将项添加到ember-data存储会阻止应用程序模板呈现

时间:2013-10-05 19:11:27

标签: ember.js ember-data ember-rails

我的ember-rails项目中有以下路径定义。 该文件是/app/assets/javascripts/routes/applicationRoute.js.coffee,代码如下:

ChAdmin.ApplicationRoute = Ember.Route.extend (
   model: ()->
     store = @.get("store")
     store.push("tapahtuma",
       id: 1,
       nimi: "test1",
       paiva: "11.1.2012"
     )

)

这可以防止应用程序模板呈现。谁能告诉我为什么会这样? 我可以从余烬检查员那里看到该物品已被推到商店。 如果我除了在商店中推送商品之外还做其他任何事情,那么应用模板呈现就好了。

javascript控制台中没有错误并启动我得到的应用程序:

DEBUG: ------------------------------- ember.js?body=1:394
DEBUG: Ember.VERSION : 1.0.0 ember.js?body=1:394
DEBUG: Handlebars.VERSION : 1.0.0 ember.js?body=1:394
DEBUG: jQuery.VERSION : 1.10.2 ember.js?body=1:394
DEBUG: ------------------------------- ember.js?body=1:394
Ember Debugger Active

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

您应该从model()

返回模型
App.IndexRoute = Ember.Route.extend({
  model: function(){
    var store = this.get('store');
    store.push("tapahtuma",
      {
         id: 1,
         nimi: "test1",
         paiva: "11.1.2012"
      }
     );
    // model is expected to return the object or 
    // a promise that resolve into the object
    return store.find('tapahtuma',1); 
  }
});

有关emberjs guide on routingmodel()挂钩的更多详细信息。

JSBin example

答案 1 :(得分:0)

问题是旧版本的余烬数据。 我运行了“rails generate ember:install --head”,现在应用程序模板正确呈现。