我有一个动态设置了模板的动态铁路线,但是铁路由器试图渲染路径而不是模板。

http://localhost:3000/blog/example-post

找不到名为“博客:永久链接”或“博客:永久链接”的模板。确定要定义吗?

Router.route('/blog/:permalink'), {
  template: 'blogPost',
  name: 'blogPost',
  path: '/blog/:permalink',
  data: function () {
    return Blogs.findOne({ permalink: this.params.permalink, published: true });
  }
}

Router.route('blog'), {
  path: '/blog',
  waitOn: function () {
    return [
      Meteor.subscribe('blogs')
    ]
  }
}

最佳答案

您关闭了路径),但未在其中添加选项对象(请参见,之后的))。这就是iron:router尝试从路径生成模板名称的原因:

Router.route('/blog/:permalink'), {


应该:

Router.route('/blog/:permalink', {
  template: 'blogPost',
  name: 'blogPost',
  path: '/blog/:permalink',
  data: function () {
    return Blogs.findOne({ permalink: this.params.permalink, published: true });
  }
})

10-07 14:52