Meteor quickForm Exception in template helper: Error: Recipes is not in the window scope

Meteor quickForm Exception in template helper: Error: Recipes is not in the window scope

我无法让该应用程序在 Meteor 上运行。 quickform 没有链接我的 Collection.

"Exception in template helper: Error: Recipes is not in the window scope"

有人可以帮忙吗?

这是我的快速表单代码

<template name="NewRecipe">
 <div class="new-recipe-container">
  {{> quickForm collection="Recipes" id="insertRecipeForm" type="insert" class="new-recipe-form" }}
  
 </div>
</template>

这是我的 collection 架构

Recipes = new Mongo.Collection('recipes');

RecipeSchema = new SimpleSchema({
 name: {
  type: String,
  label:"Name"
 },
 desc: {
  type: String,
  label:"Description"
 },
 author: {
  type: String,
  label:"Author",
  autoValue: function() {
   return this.userId
  }
 },
 createdAt: {
  type: Date,
  label:"Created At",
  autoValue: function() {
   return new Date()
  }
 }

});

Recipes.attachSchema( RecipeSchema );

我无法对您的问题发表评论,因为我的声誉不到 50,所以我将其作为答案发布。

我正在关注相同的中级流星 Level Up Tuts,但我试图遵循 new Application structure and import syntax 因为我使用的是 Meter 1.3,并且我想遵循最新的最佳实践。

我遇到这个错误是因为当我试图写

{{> quickForm collection="Recipes" id="insertRecipeForm" type="insert" class="new-recipe-form" }}

collection="Recipes" (with quotations)

这是一个问题,因为在 Meteor 1.3 中,由于 es2015 模块,Meteor 1.3 中不再有 "global" 东西。我没有像你那样定义 Collection(就像 Level Up Tuts 中的 Scott 那样),我是用 const 声明和导出来定义 Collection它使用 ec2015 模块语法(请参阅我提供的 github 问题)。重点是我的 Collection 不在 全局范围 中。因此,我不得不为 return 和 collection 编写一个模板助手,并像这样编写 quickForm 模板包含:

collection=Recipes (without quotations)

现在 Recipes 这是一个模板助手,它 return 是食谱 Collection Object

Template.NewRecipe.helpers({
  Recipes(){
    return Recipes;
  }
});

我从 here

了解到这个问题

但是由于您使用的是较旧的 Meteor 应用程序结构方法(我想是吗?)Meteor 仍然支持它,所以我现在只能想到一个问题,即最新版本的 autoform 是专门设计的考虑到 Meteor 1.3。我搜索了 Meteor 论坛,找到了一个有同样问题的 post

您可以尝试两件事:

  1. 试试他修复这些全局错误的方法,即将 collection 显式添加到 window object。
  2. 像他一样尝试恢复到旧版本的自动表单。

也许让我知道每个人的调查结果?

有必要更改 aldeed:collection2@3.0.2 并输入您的 "version"。

aldeed:collection2@3.0.0

在包中还需要插入:

帐户-ui 账户密码

aldeed:collection2 aldeed:autoform aldeed:simple-架构