2013-07-11 68 views
2

我正在使用coffeescript。我在網上閱讀過,當使用Meteor的coffeescript時,全局變量,例如集合 應該使用@定義。我已經這樣做了,但我仍然收到以下錯誤。錯誤發生後,相關文件中的代碼出現。我該如何解決這個錯誤?使用coffeescript定義流星集合; ReferenceError說收集沒有定義

謝謝。

錯誤 --------

ReferenceError: GameStatus is not defined 
    at app/server/methods/adminMethods.coffee.js:10:5 

-------------------------- -------- collections/gamestatus.coffee ----------------------------------

@GameStatus = new Meteor.Collection('gamestatus') 

---------------------------------- 服務器/ adminMethods.co ffee ----------------------------------

Meteor.methods 
    initializeGameStatus:() -> 
     GameStatus.insert({gameOnOff: 0, asymmetric: 0}) 


if GameStatus.find({}).count() is 0 
    Meteor.call 'initializeGameStatus', (err, result) -> 
     if err 
      console.log(err) 
     else 
      'GameStatus collection initialized' 
+0

爲什麼要定義新的Meteor.Collection?這是新的Mongo.Collection – SsouLlesS

回答

5

除了全球範圍內它也可能是文件加載順序。爲確保您的收藏已加載,請先將您的collections目錄移動到/lib目錄中

+0

這工作得很好!非常感謝。 – Curious2learn

+0

嗨,我已經將我的集合文件夾移動到lib文件夾,但仍然得到它是未定義的錯誤。在這種情況下還有什麼需要考慮的? – batjko

+0

@batjko你也改變了範圍嗎? '@'如果你使用的是coffeescript,並且如果你使用的是javascript,那麼刪除'var'。 – Akshat