我的应用程序已定义Router.map
。我正在使用EmberJS AppKit架构。 https://github.com/stefanpenner/ember-app-kit
我想访问我的网页"个人资料"使用以下路径:
http://localhost:8000/#/profile
但是,我的路线名称与此路径不同,因为它呼叫user-profile
,所以我这样做了:
router.js
var Router = Ember.Router.extend();
Router.map(function () {
this.resource('user-profile', { path: 'profile'}, function() {
//Some other things...
});
});
export default Router;
用户-profile.js
export default Ember.Route.extend({
model: function () {
return this.store.find('user-profile');
}
});
当我启动我的应用程序时,Ember告诉我profile
路由不存在,即使我定义了路径:
Uncaught Error: Assertion Failed: Error: Assertion Failed: The URL '/profile' did not match any routes in your application
您知道我的代码在这一点上出了什么问题吗?
由于
答案 0 :(得分:0)
我不使用ember appkit但也许尝试下划线,即'user_profile'并重命名你的文件。只是在黑暗中拍摄。
答案 1 :(得分:-1)
我不得不猜测这是你设计路由器和命名空间的方式。
通常,准系统Ember应用程序需要:
window.App = Ember.Application.create({
LOG_TRANSITIONS: true,
LOG_TRANSITIONS_INTERNAL: true
});
App.Router.map(function () {
this.resource('user-profile', { path: 'profile'}, function() {
//Some other things...
});
在您的示例中,您的路由器不在App命名空间中,或者您的根对象被命名为什么(它不必是'App')。如果我在这里没有看到其他因素,我会尝试或者发布更多代码。
此外,通常您会将路径命名为userProfile。虽然我不认为虚线名称是一个问题,但它不遵循Ember命名惯例。
希望这有帮助。