【问题标题】:error when upgrading to ember-data beta2升级到 ember-data beta2 时出错
【发布时间】:2013-09-22 05:41:48
【问题描述】:

我在尝试通过 RESTful api 加载一组记录时遇到此错误。它适用于 ember-model,但是当我切换到 ember-data (beta 2) 和 ember.js (1.0) 时,出现此错误。

断言失败:找不到“0”的模型

App.ApplicationAdapter = DS.RESTAdapter.extend({
  host: 'http://localhost:8080',
  namespace: 'api'
});


App.Router.map(function() {
  this.resource('about');
  this.resource('pages', function() {
      this.resource('page', { path: ':page_id' });
  });
this.resource('login');
});

App.AuthenticatedRoute = Ember.Route.extend({
  actions: {
     error: function(reason, transition) {
      if (reason.status == 403) {
          alert('You must login');
          this.transitionTo('login');
      }
      else {
          //alert('non 403 error:'+reason.status);
          this.transitionTo('login');
      }
     }
  }
});


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

App.PageRoute = Ember.Route.extend({
  model: function(params) {
    return this.store.find('page', params.page_id);
  }
});

App.Page = DS.Model.extend({
  user: DS.attr('string'),
  slug: DS.attr('string'),
  zcontent: DS.attr(),
  title: DS.attr('string'),
  create_time: DS.attr('date'),
  update_time: DS.attr('date')
});

这是后端返回的内容:

{
    "pages": [
        {
            "update_time": "2013-01-14 19:59:35.744855",
            "title": "",
            "id": 38,
            "create_time": "2012-08-04 15:08:16",
            "user": "robert-jones",
            "slug": "orange"
        },
        {
            "update_time": "2013-01-14 19:59:35.899830",
            "title": "",
            "id": 47,
            "create_time": "2012-08-03 10:04:07",
            "user": "robert-jones",
            "slug": "REVIEWStheraputics"
        },
        {
            "update_time": "2012-12-18 07:16:13.656509",
            "title": "'Notes on Temperature Heat Map'",
            "id": 17,
            "create_time": "2012-12-18 07:14:48.118119",
            "user": "robert-jones",
            "slug": "50612c27b94ca650"
        },
        {
            "update_time": "2012-12-12 19:48:08.079021",
            "title": "'Notes on Dyanmic Heat Map'",
            "id": 8,
            "create_time": "2012-12-12 19:48:08.013336",
            "user": "robert-jones",
            "slug": "c5642b4c14d901cf"
        }
    ]
}

【问题讨论】:

  • 关于何时何地出现错误的更多信息会有所帮助。
  • 后端返回的 JSON 长什么样子?
  • 我从后端添加了结果。见上文

标签: ember.js ember-data


【解决方案1】:

我之前遇到过这种情况,当时我的服务器只是返回一个原始数组而不是带有根元素的对象。也就是说,而不是这个:

{pages : [...]}

我不小心退回了这个:

[...]

如果没有 JSBin 就很难说。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-07-31
    • 2023-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-16
    • 1970-01-01
    相关资源
    最近更新 更多