2016-06-23 8 views
2

Ich bin nicht in der Lage, die App auf Meteor arbeiten zu bekommen. quickform verlinkt meine Sammlung nicht.Meteor quickForm Exception in Vorlage Helper: Fehler: Rezepte ist nicht im Fenster Bereich

"Exception in Template-Helfern: Fehler: Rezepte sind nicht im Fenster scope"

Wer hier helfen kann?

Hier ist meine Quick Code

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

und hier ist meine Sammlung Schema

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

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

 
}); 
 

 
Recipes.attachSchema(RecipeSchema);

+0

{{> quickForm collection = Rezepte id = "insertRecipeForm" type = "einfügen" class = "new-recipe-form"}} schemanamen mit out collection – channasmcs

Antwort

4

Ich bin kein Sie können Ihre Frage kommentieren, weil ich weniger als 50 Reputationen habe. Ich poste dies als Antwort.

Ich folge den gleichen Zwischen Meteor Level Up Tuts, aber indem ich versuche, die new Application structure and import syntax zu folgen, weil ich Meter 1.3 benutze und ich wollte die neuesten Best Practices folgen.

hatte ich diesen Fehler, denn wenn ich

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

dh

collection="Recipes" (with quotations)

Das war ein Problem, weil in Meteor 1.3, zu schreiben versuche, weil es keine "global" Dinge in Meteor sind 1,3 mehr dank den es2015 Modulen. Ich habe die Collection nicht wie Sie definiert (und wie Scott in den Level Up Tuts), ich definierte die Collection mit einer const Deklaration und exportierte sie mit der Syntax der ec2015-Module (siehe das github-Problem, das ich bereitgestellt habe). Punkt, der meine Sammlung war, war nicht in Global Scope. Anstatt also hatte ich eine Vorlage Helfer zu schreiben, um die Sammlung zurückzukehren und die Quick Vorlage Aufnahme wie folgt schreiben:

collection=Recipes (without quotations)

Jetzt Rezepte hier ist eine Vorlage Helfer, die die Rezepte-Collection-Objekt zurückgibt

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

Ich habe über dieses Problem von here

kennen gelernt Aber da Sie die ältere Anwendung Struktur Ansatz von Meteor verwenden (ich nehme an?), Die Meteor noch unterstützt, Es könnte nur ein Problem geben, an das ich gerade denken kann, dass die neueste Version von Autoform speziell für Meteor 1.3 entwickelt wurde. Ich suchte Meteor Foren und ich bekam eine post, die eine gleiche Sorge hatte.

Sie können versuchen, zwei Dinge:

  1. Versuchen Sie, was er diese globalen Fehler zu beheben haben, das heißt ausdrücklich die Sammlung an das Fenster-Objekt hinzufügen.
  2. Versuchen Sie, zu einer älteren Version von Autoform zurückzukehren, wie er es getan hat.

Und vielleicht lassen Sie mich die Ergebnisse für jeden wissen?

Verwandte Themen