25

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 には無頓着ですが、上記のスレッドから収集したことは、コレクションがクライアントとサーバーで利用可能でなければならないということです。それは私がやったことではありませんか、それともコーヒーブラインドネスを開発していますか?

ありがとう!

4

1 に答える 1

41

クライアントだけでなく、サーバーでもコレクションを宣言していることを確認してください。

上記のコード@VINs = new Meteor.Collection("vins")では、クライアントとサーバーの両方で、コードを/clientディレクトリに配置した可能性がありますか?

その場合、これは、ブロックのelseforがあっても、コードがクライアントでのみ実行されることを意味します。if Meteor.isClient

これを修正するには、使用した行をディレクトリ内の.coffeeファイルにコピーします。/server

@VINs = new Meteor.Collection("vins")
于 2013-08-29T18:43:08.197 に答える