Iron Router 1.0订阅问题

时间:2014-11-02 18:44:45

标签: meteor coffeescript iron-router

首先我要说的是,我已经在他们的问题委员会here上发了一篇文章。

自升级到1.0.0以来,我的所有订阅都没有真正点击我的出版物。

在我的路由器中,我有

# Projects home page
Router.route "/projects", (->
  waitOn: ->
    Meteor.subscribe("projects")
  action: ->
    @render
  @render "projectsHome"
),
  name: "projectsHome"

然后在我的服务器上我

# Publish the Projects to the user
Meteor.publish 'projects', () ->
  console.log "Getting projects"
  Projects.find({})

我不知道我是不是这样做了,但我的服务器实际上从未记录Getting projects

现在,在使用此代码加载页面后,我在浏览器控制台中运行Meteor.subscribe("projects"),我的所有数据都会显示,服务器会记录正确的行。

1 个答案:

答案 0 :(得分:1)

您的CS语法看起来很糟糕,请尝试使用这个更简单的示例:

Router.route '/projects',
  name: 'projectsHome'
  waitOn: ->
    Meteor.subscribe 'projects'

以下是可能导致问题的各种问题:

  • 在括号中包含Router.route的第二个参数是没有意义的,这个参数首先不应该是一个函数。
  • 在覆盖操作时调用渲染是无用的:默认操作已经在渲染模板。
  • 要小心你的CS缩进,@render "projectsHome"这一行在这方面看起来很破碎。