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

)

これにより、アプリケーション テンプレートがレンダリングされなくなります。その理由を誰か教えてもらえますか?残り火の検査官から、アイテムがストアにプッシュされたことがわかります。ストアでアイテムをプッシュする以外のことをすると、アプリ テンプレートは問題なくレンダリングされます。

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 に答える