8

私は隕石とコーヒースクリプトが初めてです。非公式 Meteor FAQ で提案されているファイル レイアウトを使用しています。ファイル コレクション/C.coffee には、

C = new Meteor.Collection 'C'
console.log "C: #{C}"

ファイルserver/main.coffeeには、

C.insert {test: 'test'}

meteor を起動すると、コンソールに次のように表示されます。

C: [object Object]
ReferenceError: C is not defined
    at app/server/main.coffee.js:5:1
    at /home/xxx/yyy/.meteor/local/build/server/server.js:298:12

collection/C.coffee 以外のファイルで C を使用できるようにするにはどうすればよいですか?

更新: C に @ を追加すると、最上位の問題が修正されます。ただし、それでも失敗します:

   Meteor.methods
        test: (statement) ->
             @C.insert {test: 'test'}

エラーで失敗します TypeError: Cannot call method 'insert' of undefined

4

1 に答える 1

13

C を use で定義されたファイルの外部で表示できるようにするには、またはjs に@コンパイルします。これにより、グローバル スコープと同じ効果が得られます。this.window.

@C = new Meteor.Collection 'C'
于 2013-08-09T16:01:46.907 に答える