2014-12-20 7 views
1
App.Product = DS.Model.extend({ 
    families: DS.hasMany('family'), 
    name: DS.attr('string'), 
    config: DS.attr('string') 
}); 


Product.set('name', 'Mark'); 
Product.save(); 

Атрибут конфигурации перед сохранением:Как сериализовать атрибут без отношения

config:[ { key: color, value: [Array : 2] }, ... ] 

Атрибут конфигурации после сохранения:

config:[object Object],[object Object] 

Почему ???

+0

Как вы настроили сериализацию? – givanse

ответ

0

Почему вы устанавливаете config на номер Object, если хотите, чтобы это было String? Если вы действительно хотите сохранить объект, вам придется позаботиться о сериализации/десериализации его в/из JSON (или в любом другом формате). Вы можете использовать вычисленное свойство:

config: DS.attr('string'), 

configObject: function(key, value, previousValue) { 
    // setter 
    if (arguments.length > 1) { 
    this.set('config', JSON.stringify(value)); 
    } 

    // getter 
    return JSON.parse(this.get('config')); 
} 
Смежные вопросы