2013-03-14 38 views
4

我不想從服務器獲取新模型的初始數據,例如。從URL /users/new.json它響應:從json數據初始化新的ember-data模型的簡單方法?

{"user": 
    { 
    "default_value1": "foo", 
    "default_value2": "bar", 
    "embedded_foo": [{"default_value3": "baz"}] 
    } 
} 

用戶模式:

App.User = DS.Model.extend({ 
    embeddedFoo: DS.hasMany('App.EmbeddedFoo'), 
    defaultValue1: DS.attr('string'), 
    defaultValue2: DS.attr('string') 
}) 

還有很多更多的價值,所以有一些方法使用現有的灰燼數據初始化新紀錄映射?

+0

您是否找到解決此問題的解決方案?任何幫助表示讚賞 – Ben 2014-04-14 09:12:11

回答

0

這從另一個問題here來了,但基本要點是:在DS.Store.loadMany

var userData = {"user": 
    [{ 
    "id": 1, 
    "default_value1": "foo", 
    "default_value2": "bar", 
    "embedded_foo": [{"default_value3": "baz"}] 
    }, 
    { 
    "id": 2, 
    "default_value1": "bang", 
    "default_value2": "biff", 
    "embedded_foo": [{"default_value3": "boop"}] 
    }] 
} 

App.Store = DS.Store.create({ 
    revision: 11 
}); 

App.User = DS.Model.extend({ 
    embeddedFoo: DS.hasMany('App.EmbeddedFoo'), 
    defaultValue1: DS.attr('string'), 
    defaultValue2: DS.attr('string') 
}) 

App.Store.loadMany(App.User, [1,2], userData); 

更多細節:definitiontests

+1

這是用於加載現有數據。如果我可以在沒有ID的情況下完成並且將記錄狀態更改爲新的,那就沒關係。 – milep 2013-03-20 16:30:57