未找到流星呼叫方法

时间:2014-05-12 22:56:50

标签: javascript coffeescript meteor

我正在尝试学习Meteor和coffeescript,但我在尝试学习流星方法调用时遇到困难。我写了以下代码:

客户端/视图/家/ home.html的

  <template name="home">
     Welcome to my new meteor app
     <input type="button" id='createFile' value="createFile" />
  </template>

客户端/视图/家/ home.coffee

Template.home.events
'click #createFile': ->
    Meteor.call 'alwaystrue', (error, result) ->
        console.log error
        console.log result
        return

    console.log 'You pressed the button'  if typeof console isnt 'undefined'
    return

服务器/ metodi.coffee

Meteor.methods
 alwaystrue: -> 
  true

单击按钮时,应使用Meteor.call从客户端调用服务器方法,但它表示找不到alwaystrue方法。

我做错了什么?为什么我的代码无法看到这些方法?

我从这个样板开始:https://github.com/Differential/meteor-boilerplate,在最新的ubuntu(14.04)上使用最新的node.js / meteor。

1 个答案:

答案 0 :(得分:1)

仔细检查后,我发现代码没有任何问题导致我相信问题之外的东西搞砸了。尝试以下方式:

  • 确保保存所有文件。
  • 确保所有CoffeeScript文件实际上以.coffee结尾。
  • 检查方法名称在所有情况下拼写是否正确。

如果所有其他方法都失败了,您可以创建一个单独的项目,只需添加此代码即可对其进行验证。

样式注释 - CoffeeScript具有隐式返回,因此除非您确实想要返回undefined或者想要从函数中提前返回,否则您不需要{{1}中的显式return语句}}