我收到insert failed: Method not found
日志消息,它可能是这些主题中描述的结果:
然而,我没有看到如何。让我展示希望能够更清楚地解释的代码。我正在使用Coffeescript:
if Meteor.isClient
@VINs = new Meteor.Collection("vins")
scoped_vins = @VINs
Template.vins.events =
"click .icon-plus-sign": ->
console.log "this is #{this}"
realVIN = $("#your-vin").val().replace /\D/g, ''
console.log "user id is: #{Meteor.userId()} vin is #{parseInt(realVIN)}"
VINs.insert number: parseInt(realVIN), owner: Meteor.userId() if Meteor.userId()
$("#your-vin").val('')
else
@VINs = new Meteor.Collection("vins")
我对Meteor来说完全是一个n00b,但我从上面提到的线程中收集到的是集合必须在客户端和服务器上可用。这不是我所做的,还是我在开发咖啡失明?
谢谢!
答案 0 :(得分:41)
确保您还在服务器和客户端上声明了您的收藏。
在客户端和服务器上面的@VINs = new Meteor.Collection("vins")
上面的代码中,您可能将代码放入/client
目录中了吗?
如果是这样,这意味着代码只会在客户端上运行,即使else
阻止了if Meteor.isClient
。
要解决此问题,请将您使用的行复制到.coffee
目录中的/server
文件中:
@VINs = new Meteor.Collection("vins")