2013-04-04 41 views
3

我已經定義下面的模型:重用針對不同對象的模型

App.Node = DS.Model.extend({ 
    type: DS.attr('string'), 
    name: DS.attr('string') 
}); 

該模型的數據可以通過在RESTapi/nodes進行檢索。

現在我有類似的數據可以在api/phonenumbers找到。數據的結構是一樣的,所以我想重新使用模型。我已經定義:

App.Phonenumber = App.Node; 

但是,這是行不通的。該型號的請求仍然發送到api/nodes。爲什麼?我如何重複使用模型?

回答

4

我認爲App.Phonenumber = App.Node.extend({});可能會訣竅。

2

你能問'數字是節點嗎?'在你的情況下?

如果是的話,那麼擴展名就是你的解決方案。

如果不是,那麼你可能會問'電話號碼是否類似於節點?'。

在這種情況下,我會做到以下幾點:

var genericNameConfig = { 
    type : DS.attr('string'), 
    name : DS.attr('string') 
}; 

App.Node  = DS.Model.extend(genericNameConfig); 
App.Phonenumber = DS.Model.extend(genericNameConfig);