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 Data 1.0Beta设置多态别名_Ember.js - Fatal编程技术网

Ember.js 使用Ember Data 1.0Beta设置多态别名

Ember.js 使用Ember Data 1.0Beta设置多态别名,ember.js,Ember.js,为了在Ember.js中使用多态关系,您需要配置适配器以识别多态模型的别名,如下所述: 不幸的是,这种方法不再适用于Ember Data 1.0Beta,因为您无法再配置适配器。相反,你必须扩展它们。但是,简单地这样做是行不通的: DS.ActiveModelAdapter.extend('App.Post', { alias: 'post' }); 它抛出错误: Expected hash or Mixin instance, got [object String] Ember Dat

为了在Ember.js中使用多态关系,您需要配置适配器以识别多态模型的别名,如下所述:

不幸的是,这种方法不再适用于Ember Data 1.0Beta,因为您无法再配置适配器。相反,你必须扩展它们。但是,简单地这样做是行不通的:

DS.ActiveModelAdapter.extend('App.Post', {
  alias: 'post'
});
它抛出错误:

Expected hash or Mixin instance, got [object String]

Ember Data的《转换指南》详细介绍了适配器和序列化程序的新方法。然而,我不知道如何将这个建议翻译成类似于
别名:“post”
。该指南详细介绍了有效负载的处理方式,但我不知道别名应该放在哪个处理中。

顶部的内容已经过时,请参阅转换文档中的多态性部分

多态关系

多态类型现在使用模型名+“Type”的json键进行序列化

例如,给定多态关系:

 App.Comment = DS.Model.extend({
   message: DS.belongsTo('message', {
     polymorphic: true
   })
 });
余烬数据0.13

 {
   "message": 12,
   "message_type": "post"
 }
余烬数据1.0.beta.3:

 {
   "message": 12,
   "messageType": "post"
 }
另一方面,如果您再次看到该错误,它会对此进行抱怨

 DS.ActiveModelAdapter.extend('App.Post', {
   alias: 'post'
 });
余烬对象的任何扩展的第一个参数都需要一个散列或mixin,您将向其发送一个字符串。也就是说,它需要一个实际的类(在进入代码的这一部分之前,需要定义它)


这在顶部已经过时,请参见转换文档中的多态性部分

多态关系

多态类型现在使用模型名+“Type”的json键进行序列化

例如,给定多态关系:

 App.Comment = DS.Model.extend({
   message: DS.belongsTo('message', {
     polymorphic: true
   })
 });
余烬数据0.13

 {
   "message": 12,
   "message_type": "post"
 }
余烬数据1.0.beta.3:

 {
   "message": 12,
   "messageType": "post"
 }
另一方面,如果您再次看到该错误,它会对此进行抱怨

 DS.ActiveModelAdapter.extend('App.Post', {
   alias: 'post'
 });
余烬对象的任何扩展的第一个参数都需要一个散列或mixin,您将向其发送一个字符串。也就是说,它需要一个实际的类(在进入代码的这一部分之前,需要定义它)


非常感谢。我花了好几个小时来修修补补,你的建议正是我所需要的。谢谢你的详细解释,谢谢!我花了好几个小时来修修补补,你的建议正是我所需要的。谢谢你的详细解释。