0

最新の ember-data 1.0 リリースの後、レコードの作成でいくつかの問題が発生しました。リリース ノートを読みました - https://github.com/emberjs/data/blob/master/TRANSITION.md :

App.NewPostRoute = Ember.Route.extend({
  model: function() {
    return App.Post.createRecord();
  }
});

は次のものに置き換えられました。

App.NewPostRoute = Ember.Route.extend({
  model: function() {
    return this.store.createRecord('post');
  }
});

ただし、私のコントローラーでは、次のようなものがあるため、createRecord() メソッドを呼び出す方法がわかりません。

addNewTrip:function() {
    var tripDeparature = this.get("tripDeparature");
    var tripArrival = this.get("tripArrival");
    var trips = App.Trips.createRecord({
         tripDeparature: tripDeparature,
         tripArrival:tripArrival,
         isCompleted:false
    });
    trip.save();
    this.set("tripDeparture","");
    this.set("tripArrival","");
}

そして、エラーがスローされます: ...メソッド 'createRecord' がありません (これは新しいリリース後に予想されます) が、createRecord を正しく呼び出す方法がわかりません。どんな助けでも大歓迎です。

4

1 に答える 1

7

App.Trips.createRecord(parameters ...)使用する代わりにthis.store.createRecord('trips', parameters ...)

コードは次のようになります。

addNewTrip:function() {
    var tripDeparature = this.get("tripDeparature");
    var tripArrival = this.get("tripArrival");
    var trip = this.store.createRecord('trips', {
         tripDeparature: tripDeparature,
         tripArrival:tripArrival,
         isCompleted:false
    });
    trip.save();
    this.set("tripDeparture","");
    this.set("tripArrival","");
}
于 2013-09-05T22:01:02.643 に答える