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