Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ember.js嵌入式记录不';行不通_Ember.js_Ember Data_Ember Cli - Fatal编程技术网

Ember.js嵌入式记录不';行不通

Ember.js嵌入式记录不';行不通,ember.js,ember-data,ember-cli,Ember.js,Ember Data,Ember Cli,我有一个类似json的 { "meta":{ "per":20, "page":1, "total":2 }, "users":[ { "id":119506, "first_name":"erglk", "last_name":"wfe", "email":"bent@exemple.com", "groups":[

我有一个类似json的

{
   "meta":{
      "per":20,
      "page":1,
      "total":2
   },
   "users":[
      {
         "id":119506,
         "first_name":"erglk",
         "last_name":"wfe",
         "email":"bent@exemple.com",
         "groups":[
            {
               "id":5282,
               "name":"test"
            },
            {
               "id":8880,
               "name":"everybody"
            }
         ]
      },
      {
         "id":119507,
         "first_name":"eriglk",
         "last_name":"wife",
         "email":"benit@exemple.com",
         "groups":[
            {
               "id":5284,
               "name":"testf"
            },
            {
               "id":8880,
               "name":"everybody"
            }
         ]
      }
   ]
}
目前访问用户没有问题,但访问组数组时遇到一些困难。我试过
有很多
属于
,但都没有成功。我犯了错误。 我读过几篇关于这方面的文章,但都没有成功

如果我在模型中声明:

export default DS.Model.extend({
  first_name: DS.attr('string'),
  last_name: DS.attr('string'),
  email: DS.attr('string'),
  groups: DS.attr('group')
});

我得到:处理路由时出错:用户断言失败:找不到“组”的转换错误:断言失败:找不到“组”的转换我们使用
DS.attr
告诉Ember此字段是模型的属性,并且可以选择指定此属性的类型。默认情况下,仅允许的类型为
字符串
数字
布尔值
日期
。为了支持自定义类型,应该定义特殊类(转换)。这就是余烬试图通过此错误消息告诉您的内容。如何定义这样的类,您可以找到

但是,您不需要为任务定义自定义转换。您需要定义一种关系:

export default DS.Model.extend({
  first_name: DS.attr('string'),
  last_name: DS.attr('string'),
  email: DS.attr('string'),
  groups: DS.hasMany('group', {async: false})
});

并使用EmbeddedRecordMixin,如官方中所述。我可以向您保证,它的工作原理与这里描述的一样。

我们使用
DS.attr
告诉Ember此字段是模型的属性,并且可以选择指定此属性的类型。默认情况下,仅允许的类型为
字符串
数字
布尔值
日期
。为了支持自定义类型,应该定义特殊类(转换)。这就是余烬试图通过此错误消息告诉您的内容。如何定义这样的类,您可以找到

但是,您不需要为任务定义自定义转换。您需要定义一种关系:

export default DS.Model.extend({
  first_name: DS.attr('string'),
  last_name: DS.attr('string'),
  email: DS.attr('string'),
  groups: DS.hasMany('group', {async: false})
});

并使用EmbeddedRecordMixin,如官方中所述。我可以向您保证,它的工作原理与这里描述的一样。

我们使用
DS.attr
告诉Ember此字段是模型的属性,并且可以选择指定此属性的类型。默认情况下,仅允许的类型为
字符串
数字
布尔值
日期
。为了支持自定义类型,应该定义特殊类(转换)。这就是余烬试图通过此错误消息告诉您的内容。如何定义这样的类,您可以找到

但是,您不需要为任务定义自定义转换。您需要定义一种关系:

export default DS.Model.extend({
  first_name: DS.attr('string'),
  last_name: DS.attr('string'),
  email: DS.attr('string'),
  groups: DS.hasMany('group', {async: false})
});

并使用EmbeddedRecordMixin,如官方中所述。我可以向您保证,它的工作原理与这里描述的一样。

我们使用
DS.attr
告诉Ember此字段是模型的属性,并且可以选择指定此属性的类型。默认情况下,仅允许的类型为
字符串
数字
布尔值
日期
。为了支持自定义类型,应该定义特殊类(转换)。这就是余烬试图通过此错误消息告诉您的内容。如何定义这样的类,您可以找到

但是,您不需要为任务定义自定义转换。您需要定义一种关系:

export default DS.Model.extend({
  first_name: DS.attr('string'),
  last_name: DS.attr('string'),
  email: DS.attr('string'),
  groups: DS.hasMany('group', {async: false})
});

并使用EmbeddedRecordMixin,如官方中所述。我可以向您保证,它的工作原理与上面描述的一样。

我遇到了同样的问题,并根据Gennady&Beni的回答找到了一个解决方案,但我还是花了一些时间才开始运行

我创建了app/serializers/user.js:

import DS from 'ember-data';
export default DS.RESTSerializer.extend(DS.EmbeddedRecordsMixin, {
    isNewSerializerAPI: true,
    attrs: {
        groups: { embedded: 'always' },
    }
});
以及在app/model/user.js中

export default DS.Model.extend({
     groups: DS.hasMany('group', {async: false}),
});

然后模型加载了嵌入的属性

我遇到了同样的问题,根据Gennady&Beni的回答,我找到了一个解决方案,但我还是花了一段时间才开始运行

我创建了app/serializers/user.js:

import DS from 'ember-data';
export default DS.RESTSerializer.extend(DS.EmbeddedRecordsMixin, {
    isNewSerializerAPI: true,
    attrs: {
        groups: { embedded: 'always' },
    }
});
以及在app/model/user.js中

export default DS.Model.extend({
     groups: DS.hasMany('group', {async: false}),
});

然后模型加载了嵌入的属性

我遇到了同样的问题,根据Gennady&Beni的回答,我找到了一个解决方案,但我还是花了一段时间才开始运行

我创建了app/serializers/user.js:

import DS from 'ember-data';
export default DS.RESTSerializer.extend(DS.EmbeddedRecordsMixin, {
    isNewSerializerAPI: true,
    attrs: {
        groups: { embedded: 'always' },
    }
});
以及在app/model/user.js中

export default DS.Model.extend({
     groups: DS.hasMany('group', {async: false}),
});

然后模型加载了嵌入的属性

我遇到了同样的问题,根据Gennady&Beni的回答,我找到了一个解决方案,但我还是花了一段时间才开始运行

我创建了app/serializers/user.js:

import DS from 'ember-data';
export default DS.RESTSerializer.extend(DS.EmbeddedRecordsMixin, {
    isNewSerializerAPI: true,
    attrs: {
        groups: { embedded: 'always' },
    }
});
以及在app/model/user.js中

export default DS.Model.extend({
     groups: DS.hasMany('group', {async: false}),
});


然后模型加载了嵌入的属性

您使用的是哪个版本的Ember数据和哪个适配器/序列化程序?@TylerIguchi Ember 2和RestSerializer您使用的是哪个版本的Ember数据和哪个适配器/序列化程序?@TylerIguchi Ember 2和RestSerializer您使用的是哪个版本的Ember数据和哪个适配器/序列化程序?@TylerIguchi Ember 2和RESTSerializerWhatEmber数据的版本以及您使用的适配器/序列化程序是什么?@TylerIguchi Ember 2和RestSerializerTanks@gennady dogaev。我在文档中使用inside
attrs:{groups:{embedded:'always'}
设置了相同的RESTSerializer。我还在models/group.js:export default DS.Model.extend({user:DS.belongsTo('user'),name:DS.attr('string'),});`但当我尝试转到页面时,我得到了:
处理路由时出错:用户断言失败:将类传递到存储方法已被删除。请传递dasherized字符串,而不是未定义的
。他正在等待其他内容…错误似乎来自我的用户路径:
export default Ember.route.extend({model(params){return this.store.query('user',params);})您使用什么适配器?REST还是JSON?对于您的响应结构,您应该使用RESTAdapterA RESTAdapter.:/当我从模型中删除
groups:DS.hasMany('group')
时,它也会再次起作用。请尝试将
isNewSerializerAPI:true
属性添加到序列化程序中。我不确定它是否有用,但值得一试:
export default DS.RESTSerializer.extend(DS.Embedded