【发布时间】:2015-07-16 15:15:44
【问题描述】:
我的模型定义如下:
服务器
DS.Model.extend({
name: DS.attr('string'),
databases: DS.hasMany('database', {async: true})
});
数据库
DS.Model.extend(BaseModelMixin, {
name: DS.attr('string'),
server: DS.belongsTo('server'),
schemas: DS.hasMany('schema', {async: true})
});
路由器设置如下:
Router.map(function() {
this.resource('servers', { path: '/' }, function() {
this.resource('server', { path: '/servers/:serverid'}, function () {
this.resource('databases', { path: '/databases' }, function () {
this.resource('database', { path: '/:databaseid'}, function () {
this.resource('catalogues', { path: '/catalogues' });
this.resource('eventtriggers', { path: '/eventtriggers' });
this.resource('extensions', { path: '/extensions' });
this.resource('schemas', { path: '/schemas' }, function () {
this.resource('schema', { path: '/:schemaid' }, function () {
this.resource('new-table');
this.resource('tables', { path: '/tables' }, function () {
this.resource('table', { path: '/:tableid' });
});
});
});
this.resource('replication', { path: '/replication' });
});
});
});
});
});
在我的应用程序中,我有一个菜单,允许我在服务器和它的数据库之间导航。在这样做的同时,DS.RESTAdapter 向模拟服务器发送请求以检索数据。它应该向这些 url 发送请求:
/api/servers
/api/servers/1
/api/servers/1/databases
/api/servers/1/databases/1
它正在向/api/databases url 发送请求,而不用正确的路径作为前缀。我该怎么办?
【问题讨论】:
-
您的路由器是如何设置的?这可能有点用 - fromrailstoember.com/9-nested-routes-equals-nested-ui
-
不知道该网址是否对我有用。我发现了这个:discuss.emberjs.com/t/…,似乎对嵌套路由存在某种争论?
-
其中一个核心成员团队为嵌套模型建立了一个示例项目。 github.com/rwjblue/ember-data-nested-urls
-
一岁了,一年没有提交......你认为使用它仍然可以吗?
-
自从我使用 ember 已经有一段时间了,我知道它的生产速度很快,所以我不知道。对不起
标签: javascript rest ember.js