【问题标题】:cannot find route with name on iron router在 Iron 路由器上找不到带有名称的路由
【发布时间】:2015-04-02 23:25:33
【问题描述】:

我没有得到名为视图表单的路由,尽管我已经正确定义了它。

 Router.route '/form/:_id', (->
  @render 'viewForm', data: ->
    console.log 'id' + @params._id
    forms.findOne _id: @params._id
  return
),
  name: 'forms.show'
  layoutTemplate: 'layout'

我使用这个以编程方式重定向:

 Router.go('forms.show', {_id: id}, {query: 'q=s', hash: 'hashFrag'});

在控制台上我的路线甚至没有使用:

Router.routes

name属性有问题吗?

【问题讨论】:

  • 也许尝试从名称中删除点

标签: meteor coffeescript


【解决方案1】:

name 属性看起来不错,去掉多余的括号能解决问题吗?

所以路由函数将改为:

Router.route '/form/:_id', ->
  @render 'viewForm', data: ->
    console.log 'id' + @params._id
    forms.findOne _id: @params._id
  return
,
  name: 'forms.show'
  layoutTemplate: 'layout'

【讨论】:

    【解决方案2】:

    这是我解决问题的方法:

      Router.route '/form/:_id',
      name: 'forms'
      layoutTemplate: 'layout'
      action: ->
        @render 'viewForm', data: ->
          console.log 'id' + @params._id
          forms.findOne _id: @params._id
        return
    

    【讨论】:

      猜你喜欢
      • 2016-06-22
      • 2017-11-26
      • 2016-03-27
      • 2017-12-29
      • 2018-11-21
      • 1970-01-01
      • 2015-02-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多