2014-12-27 64 views
0

假設我們有下面的代碼:Ember RESTAdapter命名空間是可繼承的嗎?

App.ApplicationAdapter = DS.RESTAdapter.extend({ 
    namespace: '/webapp_name' 
    host: 'http://localhost:8080' 
}); 

App.PersonAdapter = DS.RESTAdapter.extend({ 
    namespace: '/foo/bar' 
}); 

那麼,是模型App.Personhttp://localhost:8080/webapp_name/foo/bar/personhttp://localhost:8080/foo/bar/person定位?

+1

嘗試繼承,你'PersonAdapter'從'App.ApplicationAdapter',而不是'DS.RESTAdapter覆蓋'。然後它會「定位」http:// localhost:8000/foo/bar/persons。 –

回答

1

是的,適配器只是一個Ember對象,可以擴展,但您的示例不是從ApplicationAdapter繼承PersonAdapter

你需要App.PersonAdapterApp.ApplicationAdapter延長,如果你想從App.ApplicationAdapter繼承host財產。

App.PersonAdapter = App.ApplicationAdapter.extend({ 
    namespace: '/foo/bar' 
}); 

上面現在將有來自ApplicationAdapter繼承了host財產,但命名空間將與結果是http://localhost:8080/foo/bar/xxx