EmberJS RESTAdapter没有使用ember-data填充模型

时间:2014-05-23 14:04:40

标签: ember.js ember-data

我正在尝试使用ember-data从我自己的REST服务构建模型。我根据我的理解格式化了数据,应该从服务中返回数据,但仍然卡住了。

问题是在初始页面加载后我的视图中没有显示任何结果。我不认为模型正确填充。

我错过了什么?

App = Ember.Application.create();

App.Account = DS.Model.extend({
  first: DS.attr( 'string' ),
  last: DS.attr( 'string' )
});

App.AccountAdapter = DS.RESTAdapter.extend({
  namespace: 'api',
  host: 'http://127.0.0.1:3000'
});

App.Router.map(function() {
  this.route('home');  
});

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

App.HomeController = Ember.Controller.extend({
  controllerTest : true
});

我的数据如下所示:

{
  "accounts": {
    "id": 1,
    "first": "John",
    "last": "Doe"
  }
}

来自网址:

http://127.0.0.1:3000/api/accounts

我的视图模板是:

<script type="text/x-handlebars" data-template-name="home">
  Home Template {{controllerTest}}

  {{#each item in model}}
    <br />
    {{item.first}}
    {{item.last}}
  {{/each}}
</script>

感谢。

2 个答案:

答案 0 :(得分:1)

我认为您的JSON格式稍有不正确。我理解你会返回一个帐户列表,即使只有一个帐户。试试这个:

{
  "accounts": [
    {
        "id": 1,
        "first": "John",
        "last": "Doe"
    }
  ]
}

答案 1 :(得分:0)

尝试

{{#each }}
  <br />
  {{first}}
  {{last}}
{{/each}}

 {{log this}} 

或使用Ember-inspector查看您拥有的数据以及最近的数据。