Meteor:插入失败:找不到方法

时间:2013-08-29 18:28:14

标签: coffeescript meteor

我收到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,但我从上面提到的线程中收集到的是集合必须在客户端和服务器上可用。这不是我所做的,还是我在开发咖啡失明?

谢谢!

1 个答案:

答案 0 :(得分:41)

确保您还在服务器和客户端上声明了您的收藏。

在客户端和服务器上面的@VINs = new Meteor.Collection("vins")上面的代码中,您可能将代码放入/client目录中了吗?

如果是这样,这意味着代码只会在客户端上运行,即使else阻止了if Meteor.isClient

要解决此问题,请将您使用的行复制到.coffee目录中的/server文件中:

@VINs = new Meteor.Collection("vins")