2014-11-03 63 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