2016-06-23 4 views
2

Я не могу заставить приложение работать на Meteor. quickform не связывает мою коллекцию.Meteor quickForm Exception в помощнике шаблона: Ошибка: Рецепты не находятся в области окна

«Исключение в шаблоне хелпер: Ошибка: Рецепты не в окне рамки»

Любой человек может помочь здесь?

Вот мой QuickForm код

<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>

и вот моя коллекция схема

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 = Рецепты id = "insertRecipeForm" type = "insert" class = "new-recipe-form"}} имя схемы без коллекции – channasmcs

ответ

4

Я не чтобы прокомментировать ваш вопрос, потому что у меня менее 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, потому что нет никаких «глобальных» вещи в Meteor 1.3 больше благодаря модулям es2015. Я не определял коллекцию, как вы это делали (и, как Скотт в Level Up Tuts), я определял коллекцию с объявлением const и экспортировал ее с синтаксисом модулей ec2015 (см. Вопрос github, который я предоставил). Точкой моей коллекции не было Global Scope. Так что вместо этого я должен был написать вспомогательный шаблон, чтобы вернуть коллекцию и написать шаблон включения QuickForm так:

collection=Recipes (without quotations)

Теперь Рецепты здесь шаблон помощник, который возвращает объект Рецепты Коллекция

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

Я узнал об этом выпуске от here

Но так как вы используете старый подход приложения Meteor (я полагаю?), Который Meteor по-прежнему поддерживает, может быть только одна проблема, о которой я могу думать сейчас, о том, что новейшая версия autoform была специально разработана для Meteor 1.3. Я искал форумы Метеор, и я получил один post, который имел такую ​​же озабоченность.

Вы можете попробовать две вещи:

  1. Попробуйте то, что он сделал, чтобы исправить эти глобальные ошибки, то есть явно добавить коллекцию в объект окна.
  2. Попробуйте вернуться к старой версии автоформы, как он.

И, возможно, дайте мне знать выводы для каждого?