Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Meteor.js加载模板时出错_Javascript_Mongodb_Meteor - Fatal编程技术网

Javascript Meteor.js加载模板时出错

Javascript Meteor.js加载模板时出错,javascript,mongodb,meteor,Javascript,Mongodb,Meteor,我的应用程序(包括loadingTemplate,它只有在实际需要时才会被发送)上一切都很正常,直到我决定在我的主模板上制作一个简单的列表,以按标题显示Mongo集合Rooms上的每个文档 我所做的 HTML: 正如你所看到的,非常基本的东西。JS只需返回Rooms集合中的所有文档(数量不多),以便{{each}代码块可以迭代这些文档并捕获所有标题,从而生成。我正在主模板上添加{{>roomsList} 我正在使用的软件包 我在《流星》的其他问题中也提到过这一点,所以我将继续在这里列出: 帐户密

我的应用程序(包括loadingTemplate,它只有在实际需要时才会被发送)上一切都很正常,直到我决定在我的主模板上制作一个简单的列表,以按标题显示Mongo集合Rooms上的每个文档

我所做的

HTML:

正如你所看到的,非常基本的东西。JS只需返回Rooms集合中的所有文档(数量不多),以便
{{each}
代码块可以迭代这些文档并捕获所有标题,从而生成
。我正在主模板上添加
{{>roomsList}

我正在使用的软件包

我在《流星》的其他问题中也提到过这一点,所以我将继续在这里列出:

  • 帐户密码1.0.4帐户密码支持
  • accounts ui 1.1.3向应用程序添加登录小部件的简单模板
  • iron:专为Meteor设计的路由器1.0.1路由
  • meteor platform 1.2.0在您的应用程序中包含一套标准的meteor软件包
  • sacha:spin 2.0.4适用于Meteor的简单旋转器包
  • 发生了什么事

    首先,这里是bash错误消息:

    I20141118-05:25:21.855(-2)? Exception from sub k7PEn4QcT9McjF8tw ReferenceError: rooms is not defined
    I20141118-05:25:21.856(-2)?     at null._handler (app/server/publications.js:2:9)
    I20141118-05:25:21.856(-2)?     at maybeAuditArgumentChecks (packages/ddp/livedata_server.js:1599)
    I20141118-05:25:21.856(-2)?     at _.extend._runHandler (packages/ddp/livedata_server.js:943)
    I20141118-05:25:21.857(-2)?     at _.extend._startSubscription (packages/ddp/livedata_server.js:769)
    I20141118-05:25:21.857(-2)?     at _.extend.protocol_handlers.sub (packages/ddp/livedata_server.js:582)
    I20141118-05:25:21.860(-2)?     at packages/ddp/livedata_server.js:546
    
    我怀疑是第一条线引起了所有其他的,但我不知道它告诉了我什么。我以同样的方式在应用程序的其他部分调用集合,没有问题。所以我不知道是什么导致了这里的问题

    其次,现在我的主页模板将不会加载。加载的只是加载模板,它在Router.settings上声明。它为每个URL加载,从不重定向到任何内容。我尝试登录和注销

    最后,这个列表甚至不起作用,因为我把{{>roomsList}}放在加载模板上只是为了看看它是否起作用

    我怎样才能解决这个问题

    更新: 评论中要求我分享订阅和发布的代码,因为可能有一些打字错误。我不认为有,因为我在代码的另一部分访问集合时没有遇到问题,但它们是:

    发布(在/服务器上):

    订阅(on/lib):


    在发布代码中,您必须使用文件室而不是文件室,这是您的收藏名称。像这样

     Meteor.publish("rooms", function() {
       return Rooms.find();
    });
    

    您是否已完成对Rooms集合的发布和订阅,请检查我是否在/server文件夹的文件上设置了Meteor.publish(将其移动到/lib进行测试,未做任何更改,移回/server),并且我已将订阅设置为
    路由器上的
    waitOn
    。配置
    。共享订阅和发布代码。我认为publications.js中有一些输入错误,请看日志室没有定义。完成。我已经编辑了这个问题。谢谢您的调查。:)
    I20141118-05:25:21.855(-2)? Exception from sub k7PEn4QcT9McjF8tw ReferenceError: rooms is not defined
    I20141118-05:25:21.856(-2)?     at null._handler (app/server/publications.js:2:9)
    I20141118-05:25:21.856(-2)?     at maybeAuditArgumentChecks (packages/ddp/livedata_server.js:1599)
    I20141118-05:25:21.856(-2)?     at _.extend._runHandler (packages/ddp/livedata_server.js:943)
    I20141118-05:25:21.857(-2)?     at _.extend._startSubscription (packages/ddp/livedata_server.js:769)
    I20141118-05:25:21.857(-2)?     at _.extend.protocol_handlers.sub (packages/ddp/livedata_server.js:582)
    I20141118-05:25:21.860(-2)?     at packages/ddp/livedata_server.js:546
    
    Meteor.publish("rooms", function() {
        return rooms.find();
    });
    
    Router.configure({
        layoutTemplate: "layout",
        loadingTemplate: "loading",
        notFoundTemplate: "notFound",
        waitOn: function() { return Meteor.subscribe('rooms'); }
    });
    
     Meteor.publish("rooms", function() {
       return Rooms.find();
    });