Ember.js 如何使用Ember CLI正确生成资源和路由
我正在尝试使用Ember CLI定义这样的资源和路由Ember.js 如何使用Ember CLI正确生成资源和路由,ember.js,ember-cli,Ember.js,Ember Cli,我正在尝试使用Ember CLI定义这样的资源和路由 this.resource('events', function() { this.route('view', { path: "/:id"}) }); 如果我尝试以下操作:ember g资源事件/视图 this.resource('events/view', { path: 'events/views/:events/view_id' }); 如果我尝试以下操作:ember g资源事件 和:ember g
this.resource('events', function() {
this.route('view', { path: "/:id"})
});
如果我尝试以下操作:ember g资源事件/视图
this.resource('events/view', { path: 'events/views/:events/view_id' });
如果我尝试以下操作:ember g资源事件
和:ember g资源事件/视图
this.resource('events', { path: 'events/:events_id' });
this.resource('events/view', { path: 'events/views/:events/view_id' });
this.resource('events', { path: 'events/:events_id' });
this.route('events/view');
如果我尝试以下操作:ember g资源事件
和:ember g路线事件/视图
this.resource('events', { path: 'events/:events_id' });
this.resource('events/view', { path: 'events/views/:events/view_id' });
this.resource('events', { path: 'events/:events_id' });
this.route('events/view');
有办法做到这一点吗?此时,您所需的模式中的嵌套资源和路由不会自动生成,并使用Ember CLI中的默认蓝图。默认蓝图生成框架文件和文件结构,有些蓝图使用
afterInstall
hook更新其他文件。按照这些默认蓝图,您将正确生成以下项目:
ember g resource events
ember g route events/view
然后,您可以修改Router.js中的Router.map,使用您的预期嵌套:
Router.map(function() {
this.resource('events', function() {
this.route('view', { path: "/view/:id" });
})
});
现在,您应该能够在浏览器中点击“事件/视图/1”,并在“路线”选项卡中查看您一直在寻找的路线
或者,您可以执行以下操作,并生成自定义蓝图:
ember generate blueprint nested-resource-route
将在项目根目录中创建蓝图目录,其中包含新的蓝图。使用资源和路线蓝图作为基础,你可以滚动你自己的发电机来完成你正在寻找的东西。 < P>你想要的行为在Enter CLI0.1.5以后是可能的。从: 改进了路由器生成器以支持正确嵌套 路线和资源,以前如果您有类似的路线:
Router.map(function() {
this.route("foo");
});
你做了ember g route foo/bar
生成的路由将是
Router.map(function() {
this.route("foo");
this.route("foo/bar");
});
现在,它将正确管理嵌套路由,因此结果将是:
Router.map(function() {
this.route("foo", function() {
this.route("bar");
});
});
此外,还添加了选项--path
,以便您可以执行类似于ember g route friends/edit--path=:friend_id/id
创建嵌套
friends
下的路由类似于:this.route('edit',{path:':friends\u id/edit'})
谢谢你把这一切都说清楚了。我遇到了Ember 101问题,试图找出资源与路线的关系,特别是在嵌套方面,这正是我解决问题和理解原始问题所需要的。