2014-04-08 10 views
0

我是流星新手。我嘗試通過構建一個簡單的應用程序,它什麼都不做,但顯示項目列表。我第一次嘗試用我的客戶端JavaScript代碼中的硬編碼模型值,它工作得很好。然後我創建了一個稱爲「模式」文件夾下的應用程序的根和創建的模型存在像以下爲什麼在客戶端以外的任何位置創建模型,流星運行時會拋出異常?

收藏=新Meteor.collection(「收藏夾」)

這種變化,流星拋出異常指向加載文件的這一行。如果我將這段代碼移動到客戶端,那麼這個錯誤的代碼作品就是這樣。完整的代碼是@https://github.com/ksunair/13favs這是一個非常簡單的解決方案,它包含的文件很少,總共少於20或30行。我的客戶端代碼,

Template.favorites_main.helper({ 收藏:收藏 });

回答

1

我做了如下,以清除錯誤的應用:

  1. Favorites = new Meteor.Collection("favorites");(收藏大寫C開頭)

  2. 我搬到model/mainmodel.jslib/mainmodel.js所以Favorites將可只要模板呈現。我總是把我的模型放在lib下(或者在一個子目錄下),以便它們首先被加載。這與我在其他地方看到的情況相矛盾,包括discover meteor,所以我不清楚最佳做法是什麼。無論如何,它解決了這個問題。

  3. $ meteor add accounts-ui是需要的,因爲您引用了Accounts.ui.config

  4. 您需要在您的favorites_main模板中實際執行find。因此,它應該是這個樣子:

Template.favorites_main.helpers({ 
    favorites: Favorites.find(); 
}); 
+0

(1)不知道它是資本。我認爲我的其他示例使用小'c',但我會證實。 (2)很棒。我想,Meteor團隊需要在文檔中闡明它。我有(3)到位,(4)我也嘗試過發現。但總的來說(2)似乎是對我的修復。偉大的信息。 – Nair

+0

你是對的,只是把收集沒有解決我的問題,我不得不將你的答案中提到的'c'更改爲'C',以使其工作。 – Nair

相關問題