1

私は残り火データを使用しています:

// Version: v1.0.0-beta.3-2-ga01195b
// Last commit: a01195b (2013-10-01 19:41:06 -0700)

var App = Ember.Application.create();
App.Router.map(function() {
  this.resource("main");      
});

名前空間の使用:

App.ApplicationAdapter = DS.RESTAdapter.extend({
  namespace: 'api'
});

エンバーモデル:

App.Article = DS.Model.extend({
  title: DS.attr('string'),
  desc: DS.attr('string')
});

ルートは次のようになります。

App.MainRoute = Ember.Route.extend({
  model: function() {
    console.log(this.store.find('article')); // isRejected: true, reason: Object has no method 'eachTransformedAttribute'
    this.store.find('article').then(function(results){console.log(results)}); //nothing
  }
});

データは次のとおりです。

{
  "articles": [{
    "_id": "5266057ee074693175000001",
    "__v": 0,
    "createdAt": "2013-10-22T04:56:30.631Z",
    "desc": "testing, testing",
    "title": "Basic",
    "id": "5266057ee074693175000001"
  }, {
    "_id": "5266057ee074693175000002",
    "__v": 0,
    "createdAt": "2013-10-22T04:56:30.636Z",
    "desc": "testing, testing",
    "title": "Basic2",
    "id": "5266057ee074693175000002"
  }, {
    "_id": "5266057ee074693175000003",
    "__v": 0,
    "createdAt": "2013-10-22T04:56:30.636Z",
    "desc": "testing, testing",
    "title": "Basic3",
    "id": "5266057ee074693175000003"
  }, {
    "_id": "5266057ee074693175000004",
    "__v": 0,
    "createdAt": "2013-10-22T04:56:30.636Z",
    "desc": "testing, testing",
    "title": "Basic4",
    "id": "5266057ee074693175000004"
  }]
}
4

1 に答える 1

3

プロジェクトのビルドを管理するためにember-toolsを使用しています。問題は、ルートの後にモデル定義を配置する ember-tools のデフォルト ビルドにあります。更新: これは、ジェネレーターを使用せずに Article モデルを手動で作成したためです。(それ以来、ジェネレーターを使用しており、注文は正しく作成されています)

build: application.js をこれから手動で更新することで修正しました:

App.MainRoute = Ember.Route.extend({
  model: function() {
    return this.store.find('document');
  }
});

App.Article = DS.Model.extend({
  title: DS.attr('string'),
  file: DS.attr('string')
});

これに:

App.Article = DS.Model.extend({
  title: DS.attr('string'),
  file: DS.attr('string')
});

App.MainRoute = Ember.Route.extend({
  model: function() {
    return this.store.find('document');
  }
});

動作中のアプリを調べてこれを解決したところ、JSONSerializer 内で applyTransforms() 型が別の型を参照していることがわかりました。

ここに画像の説明を入力

次のような名前空間モデル Class である必要があります。

ここに画像の説明を入力

于 2013-10-22T16:50:00.607 に答える