1

我在添加简单路由时遇到问题,不知道如何调试它。

我有如下指定的路线

Videos.Router.map(function({
this.resource('videos', {path:'/');
this.route('forms');
})

Videos.FormsRoute = Ember.Route.extend({
renderTemplate: function({
this.render({controller: 'forms'});
}
})

我还有一个表单模板如下:

<script type="text/x-handlebars" data-template-name="forms">

但是当我导航到 url /forms 时,我得到一个找不到页面的错误。

有什么想法可以让我开始寻求解决这个问题吗?

4

1 回答 1

2

要使用非哈希 URL,/forms您需要将 Ember 的位置配置为使用 html5 位置。

App.Router.reopen({
  location: 'history'
});

您还需要将服务器配置为呈现与访问时呈现的 index.html 相同的 index.html /forms。这将根据您的服务器而有所不同。

对于 apache,您需要一个mod_rewrite规则。对于像 rails 这样的东西,您需要添加一条 catch all 路线来使用您HomeController的索引页面。在你的 routes.rb 末尾有这样的东西,

root :to 'home#index'
match "/*path" => 'home#index'

这告诉服务器任何与您之前的路由不匹配的东西都应该使用HomeController.index方法或呈现应用程序 html 的特定控制器来呈现。

于 2013-07-26T15:37:47.287 回答