0
语境:我建立使用灰烬前端+ Rails的API配方的应用程序。在我的后端配方模型我存储image_urls数组(以及一些其他的数据作为字符串)。 Ember公司的数据是高兴的字符串添加到店,但当然不能处理的“数组”数据类型开箱即用的。我创建了一个数组转换为试图解决这一问题,但我不认为我的转变甚至被调用。在任何情况下我IMAGEURL数据属性回报为未定义。我的阵列数据类型不与Ember数据工作
下面是该项目的样子:
//配方模型
import DS from 'ember-data';
export default DS.Model.extend({
name: DS.attr('string'),
cookTime: DS.attr('string'),
yield: DS.attr('string'),
servings: DS.attr('string'),
imageUrls: DS.attr('array'),
ingredients: DS.hasMany('ingredient'),
});
//来变换/ array.js
import DS from 'ember-data';
export default DS.Transform.extend({
deserialize: function(serialized) {
return (Ember.typeOf(serialized) == "array") ? serialized : [];
},
serialize: function(deserialized) {
var type = Ember.typeOf(deserialized);
if (type == 'array') {
return deserialized
} else if (type == 'string') {
return deserialized.split(',').map(function(item) {
return jQuery.trim(item);
});
} else {
return [];
}
}
});
这里是什么JSON的样子:
recipes: [{id: 14, name: "laudantium reprehenderit est", cook_time: "166 minutes", image_urls: ["http://s.iamafoodblog.com/wp-content/uploads/2015/10/meatlovers-pizza-9.jpg",…]},...]
I k现在Ember并不容易违背惯例,但我仍然希望能够使这种方法奏效。另一种方法可能是将image_urls作为关系数据发送,这样我可以在我的食谱和图像之间创建一个hasMany关系,但这看起来也不太合适。对什么是错我的代码或其他途径的任何想法来解决这个问题?