我在添加简单路由时遇到问题,我不知道如何调试它。
我的路线指定如下
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时,我收到了找不到页面的错误。
我可以开始寻求解决这个问题的想法吗?
答案 0 :(得分:2)
要使用/forms
等非哈希网址,您需要配置Ember的位置以使用html5位置。
App.Router.reopen({
location: 'history'
});
您还需要配置服务器以呈现访问/forms
时呈现的相同index.html。这将根据您的服务器而有所不同。
对于apache,您需要mod_rewrite
规则。对于类似rails的东西,您需要添加catch所有路径以使用HomeController
的索引页面。在您的routes.rb,
root :to 'home#index'
match "/*path" => 'home#index'
这告诉服务器任何与先前路由不匹配的内容都应使用HomeController.index
方法或呈现应用程序html的特定控制器进行渲染。