我正在尝试学习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。
答案 0 :(得分:1)
仔细检查后,我发现代码没有任何问题导致我相信问题之外的东西搞砸了。尝试以下方式:
.coffee
结尾。如果所有其他方法都失败了,您可以创建一个单独的项目,只需添加此代码即可对其进行验证。
样式注释 - CoffeeScript具有隐式返回,因此除非您确实想要返回undefined
或者想要从函数中提前返回,否则您不需要{{1}中的显式return
语句}}