1

我的 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"
     )

)

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

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

任何帮助将非常感激。

4

2 回答 2

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 路由指南中有关model()钩子的更多详细信息。

JSBin 示例

于 2013-10-05T20:30:24.763 回答
0

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

于 2013-10-07T20:03:09.197 回答