2014-10-07 44 views
2

我在与流星一个奇怪的问题,部署到.meteor.com集合在流星变得不确定部署

一切,当我部署我的应用程序上meteor.com我得到以下本地工作但当每个我拥有的每个路由的collection的错误:collectionName“未定义”。 我试图用waitOn配置铁路由器,但它没有帮助。

我的集合定义如下所示(3服务器端和一个地方):

Posts = new Meteor.Collection('posts'); 
Previews = new Meteor.Collection(null); 
betaUsers = new Meteor.Collection('betaUsers'); 
ipList = new Meteor.Collection('ipList'); 

//collections/collections.js 

我的路线是这样的:

Router.configure({ 
    layoutTemplate: 'layout', 
    waitOn: function() { [Meteor.subscribe('betaUsers'), Meteor.subscribe('Posts'), Meteor.subscribe('Previews')] } 
}); 

Router.map(function() { 
    this.route('jobList', {path: '/', layoutTemplate: 'layout', data: function() { return Posts.find(); }}); 
    this.route('login', {path: '/login', layoutTemplate: 'layout2'}); 
    this.route('submitJob', {path: '/submit', layoutTemplate: 'layout2'}); 
    this.route('previewPost', {path: '/preview', layoutTemplate: 'layout2'}); 
    this.route('landingPage', {path: '/landing/:_id?', data: function() { return betaUsers.findOne(this.params._id);}, layoutTemplate: 'layoutLp'}); 
    this.route('thankYouPage', {path: '/thanks/:_id', data: function() { return betaUsers.findOne(this.params._id);}, layoutTemplate: 'layoutLp'}); 
}); 

//server/router.js 

我同时使用和自动发布不安全。

有没有人有同样的问题?我在以前的应用中使用类似的结构来进行集合定义和订阅,并且从来没有遇到过这个问题

我仍然熟悉Meteor,所以这可能是我身边的一个愚蠢的错误!谢谢 !我可以提供更多信息。

回答

1

我简单地通过移动/lib目录中的/collections目录解决了该问题。我提供数据的路线(位于/lib目录中)正在定义集合之前执行。

如果有人可以解释为什么我的旧架构(单独的/lib/collections)可以在本地运行而不是远程运行,但我认为它仍然有用。谢谢