2015-12-02 27 views
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關係,但這看起來也不太合適。對什麼是錯我的代碼或其他途徑的任何想法來解決這個問題?

回答

0

啊哈!問題不在於陣列,而在於我的序列化程序處理下劃線的方式