0
我試圖找出一個集/模型系統,該系統能夠處理給它是從問上下文獲取 數據,例如:骨幹子集合與資源
可用「根」資源:
/api/accounts
/api/datacenters
/api/networks
/api/servers
/api/volumes
可用「子」資源:
/api/accounts/:id
/api/accounts/:id/datacenters
/api/accounts/:id/datacenters/:id/networks
/api/accounts/:id/datacenters/:id/networks/:id/servers
/api/accounts/:id/datacenters/:id/networks/:id/servers/:id/volumes
/api/accounts/:id/networks
/api/accounts/:id/networks/:id/servers
/api/accounts/:id/networks/:id/servers/:id/volumes
/api/accounts/:id/servers
/api/accounts/:id/servers/:id/volumes
/api/accounts/:id/volumes
然後,給定集合/型號系統,我將能夠做這樣的事情:
// get the first account
var account = AccountCollection.fetch().first()
// get only the datacenters associated to that account
account.get('datacenters')
// get only the servers associated to the first datacenter's first network
account.get('datacenters').first().get('networks').first().get('servers')
不知道這是否有意義,所以讓我知道如果我需要澄清任何事情。
的最大增幅,爲什麼我希望能夠做到這一點的是,如果所取得的 請求(即account.get('datacenters').first().get('networks')
) 還沒有進行(即數據中心的網絡不會被加載在客戶端上) 那麼它是(或可能是fetch()
d?)
任何幫助,你可以給予,將不勝感激!
右鍵,當我在帳戶上過濾時工作,但我希望能夠做到: 'AccountCollection.fetch()。first()。get('instances') ' 這將使以下電話: '/ API/accounts' 然後 '/ API /帳號/:first_id/instances' 並給我回的情況。 – syntaqx 2013-05-14 02:22:10
使用延遲加載方法更新了我的答案。您將需要在承諾或回調中處理路由器中的流量控制,但希望這將提供要點。 – 2013-05-14 11:33:57
這是更接近,但我希望我可以做一些自動化類型的交易,我可以定義我的集合/模型類似於https://gist.github.com/anonymous/d0229026e5a3c08d7426,它會反過來了解如何連接每個集合/模型的'segment'並使之開心。 – syntaqx 2013-05-14 16:23:20