2014-11-03 89 views
0

我對流星很陌生,所以它可能很明顯。IronController助手不能正常工作

我試圖定義一些路線:

Router.route('/translations', {name:'translation.index'}); 
Router.route('/translations/:_id', {name:'translation.show'}); 

我還定義了一個控制器,它應該定義如何獲得數據:

TranslationIndexController = RouteController.extend({ 
    template: 'TranslationIndex', 
    data: function() { 
     return Translations.find(); 
    }, 
    sayHello: function(){ 
     return 'hello'; 
    }  
}); 

我有一些收藏這僅僅是獲取和一些隨機tempalte幫手。我的模板是這樣的:

<template name="TranslationIndex"> 
      TestOutput: 
      {{sayHello}} 
      {{#each data}} 
      <li><a href="#">askljdfh</a></li> 
      {{/each}} 
</template> 

但是我的你好,也沒有我的收藏顯示。 PS:我已經通過在控制檯中使用Translations.find()。count()來檢查我的集合是否包含數據。

回答

0

你需要調用控制器在你的路線,例如,然後

Router.route('/translations', { 
    name:'translation.index', 
    controller: TranslationIndexController 
}); 

的數據應是可用的。

+0

它告訴我TranslationIndexController沒有被定義。也許這與加載順序有關。我有我的東西在2個文件中:我的控制器定義在客戶端/視圖/翻譯/ translation.js和我的路線在lib/router.js – m0c 2014-11-04 08:28:36

+0

最簡單的事情是將您的控制器定義添加到您的/ lib文件夾,並採取他們脫離你的客戶端視圖文件夾。您的控制器變量沒有在服務器上定義,但是它在服務器上被調用,因爲router.js在兩種環境中都運行。因此,它本身不是加載順序,而是放置導致問題的文件的位置。 – 2014-11-04 14:16:56