javascript - 恩博数据1.0.0

标签 javascript ember.js laravel-4 ember-data

我将 Laravel 4 与 emberjs 一起使用,我需要在 emberjs 应用程序上列出关系数据的集合,但 L4 打印集合有点不同,因此,我正在尝试更改 REST 序列化,但目前没有任何工作.. 我的 Ember 数据版本是 1.0.0-beta.7+canary.238bb5ce。 有人帮忙吗?

我的 JSON 数据:

{
"names": [
{
    "id": "1",
    "description": "List 2014",
    "user_id": "3",
    "squares": [
    {
        "id": "1"
    }
    ]
}
],
"squares": [
{
    "id": "1",
    "name": "squa1",
    "role_id": "1"
    },
    {
        "id": "2",
        "name": "squa2",
        "role_id": "1"
    }
    ]}

我的 models.js:

App.NameSerializer = DS.RESTSerializer.extend({
     primaryKey: 'id',
    extractArray: function(store, type, payload, id, requestType) {
        var posts =payload.names;
        var squares = [];
        payload.names[0].description = payload.names[0].description+"!!!";
        the = payload;


        posts.forEach(function(post){
               var reporter = post.squares,
                   reporterId = reporter.id;

                squares.push(reporter);
                post.reporter = reporterId;
        });

        payload.squares = squares;

        return this._super(store, type, payload, id, requestType);
    }
});



App.Name = DS.Model.extend({
    description: DS.attr('string'),
    squares: DS.hasMany('square'),
});
App.Square = DS.Model.extend({
    name: DS.attr('string'),
});

最佳答案

实际上,到目前为止您所做的 json 的唯一问题是方形 id 数组。

"squares": [ { "id": "1" } ]

Ember 数据正在等待

"squares": [ "1" ]

这可以通过您所采取的方式轻松解决

App.NameSerializer = DS.RESTSerializer.extend({
    primaryKey: 'id', // note this isn't necessary, the primary key is id by default
    extractArray: function(store, type, payload, id, requestType) {
      payload.names.forEach(function(name){
        var validSquareIdArray = [];
        name.squares.forEach(function(square){
          validSquareIdArray.push(square.id);
        });
        name.squares = validSquareIdArray;
      });

        return this._super(store, type, payload, id, requestType);
   }
});

http://emberjs.jsbin.com/OxIDiVU/279/edit

关于javascript - 恩博数据1.0.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22366924/

相关文章:

ember.js - Ember 数据有很多只加载在 canonicalState 属性中的记录

javascript - ember.js - 如何设置具有可选 ID 的路由以进行查找和后备默认模型?

php - Laravel 需要 Mcrypt PHP 扩展

php - 将非框架 PHP 项目移植到 Laravel 4.x

javascript - 在 Ext Xtemplate 中计算

javascript - 如何获取声明为字符串/数字/日期函数的对象字段的类型?

javascript - 通过 onclick 禁用 anchor

javascript - 代码计算百分比的问题

javascript - #linkTo 帮助程序中的动态 CSS 类字符串(使用 ember.js 版本 pre4)

Laravel 4 - 隐式 Controller 中的 URI 参数