Meteor部署中的集合未定义

时间:2014-10-07 01:26:13

标签: collections meteor iron-router deploying

在部署到.meteor.com

时,我遇到了流星的奇怪问题

一切都在本地工作,但当我在meteor.com上部署我的应用时,我的每个路径都会收到以下错误:collectionName&# 34;未定义"。 我尝试使用waitOn配置铁路由器,但它没有帮助。

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

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

我同时使用autopublish和insecure。

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

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

1 个答案:

答案 0 :(得分:1)

我只是通过移动/collections目录中的/lib目录来解决问题。在定义集合之前,我正在执行提供数据的路径(位于/lib目录中)。

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