【发布时间】:2015-02-12 07:08:42
【问题描述】:
在使用 Iron-router 的流星项目中,我的模板中的 pathFor 找不到命名路由。我想我已经遵守了guides 中的语法。
这是空格键代码:
<a href="{{pathFor 'tag.show' _id=this._id }}" class="tag" id="{{title}}">{{title}}</a>
这是铁路由器代码:
Router.route('/tags/:_id', function() {
this.layout('layout');
this.render('tags');
this.render('tagDetail', {
to: 'topDrawer',
data: function() {
return Tags.findOne({
_id: this.params._id
});
}
});
}, {
name: 'tag.show'
});
我做错了什么?
编辑:我的控制台中的确切错误是
pathFor couldn't find a route named "tag.show"
编辑 2:为了好玩,我尝试按名称检索另一条更简单的路线:
Router.route('/', function() {
this.render('home');
}, {
name: 'home'
});
Router.go('post.show');
我得到一个“未定义”的错误。我没能解决这个问题。
【问题讨论】:
-
试试
{{pathFor 'tag.show' data=this}}。 -
感谢您的建议,但仍然没有骰子!我已经盯着这个看了很久,我确实觉得它一定很明显。
-
该错误似乎表明该路由未正确声明。如果您直接导航到它会发生什么?
-
@DavidWeldon 我收到一个错误(在遵循 cwohlman 的回答之后),说客户端或服务器上没有匹配的路由。我使用流星 mongo 控制台获取了一个 _id 以在 URL 中使用。
标签: meteor iron-router