【发布时间】:2015-01-26 13:35:30
【问题描述】:
我的 Ember.js 应用中有这些路由:
router.js
EmberRails.Router.map(function() {
this.resource('stories', function () {
this.resource('story', {path: '/:story_id'});
});
});
这就是我的 Ember Inspector 在 routes 选项卡中输出的内容:
现在,在“模板”列(右起第二个)中,Ember 告诉我它期望模板应该在哪里用于不同的 Story 资源。如您所见,它希望某些模板直接位于/templates 目录中,而某些模板位于/templates/stories 中。我看不出有什么理由,而且我个人觉得这很令人困惑和荒谬。
在 Ember 中有什么方法可以使用 Rails 风格的约定,像这样:
显示('故事') - /templates/stories/show
索引 - /templates/stories/index
编辑 - /templates/stories/edit
等等。
【问题讨论】:
-
如果你想嵌套内部故事,你需要使用'this.route'。更改 this.resource('story', {path: '/:story_id'}); with this.route('story', {path: '/:story_id'});
-
“处理路由时出错:story.index” “断言失败:您为
指定了模板名称故事,但它不存在。” @blessenm
标签: javascript templates ember.js handlebars.js url-routing