2015-10-25 5 views
0

вот моя схема Но объект ингредиентов с его именем и количеством полей не отображается, а также моя загрузка изображения не отображается. Так вы можете сказать мне мою ошибку и как ее исправить?объекты и поля для загрузки файлов не отображаются

Recipes.attachSchema(new SimpleSchema({ 
    name: { 
     type: String, 
     label: "Recipe Name", 
     max: 100 
    }, 

     ingredients: { 
      type: Object, 
      label:"Ingredients", 
      minCount: 1 
     }, 

    "ingredients.$.name": { 
    type: String 
     }, 
    "ingredients.$.amount": { 
    type: String 
    }, 
    description: { 
     type: String, 
     label: "How to prepare ", 
    }, 
    time: { 
     type: Number, 
     label: "Time (Minutes)", 
    }, 
    image: { 
     type: String, 

     autoform: { 
      afFieldInput: { 
       type: 'fileUpload', 
       collection: 'RecipesImages', 
       label: 'Recipe Picture' 
      } 
     } 
    }, 
    createdAt: { 
     type: Date 
    } 
})); 

и здесь я ставлю их авто-формы в шаблоне

{{#autoForm collection="Recipes" id="insertRecipes" type="insert"}} 
    <fieldset> 
     <legend>Add a Recipe</legend> 
     {{> afQuickField name='name'}} 
     {{> afQuickField name='Ingredients'}} 
     {{> afQuickField name='Ingredients.name'}} 
     {{> afQuickField name='Ingredients.amount'}} 



     {{> afQuickField name='description' rows=6}} 
     {{> afQuickField name='time'}} 
     {{> afQuickField name='image'}} 

    </fieldset> 
    <button type="submit" class="btn btn-primary">Add Recipe</button> 
{{/autoForm}} 

ответ

1

Во-первых, схема не определена должным образом. Если вы хотите, чтобы сделать ingredients свойству массив объектов необходимо определить type как массив, например, так:

ingredients: { 
    type: [Object], 
    label:"Ingredients", 
    minCount: 1 
} 

Затем, в шаблоне у вас есть имя свойства, используя верхний регистр I, вместо в нижнем регистре, как это определено в схеме. Измените имя ingredients

{{> afQuickField name='ingredients'}} 

Вам не нужно включать вложенные свойства ingredients в шаблоне. Autoform автоматически создаст пользовательский интерфейс для вспомогательных свойств массива объектов.

Для загрузки файла тип ввода должен соответствовать определению в вашей схеме. Попробуйте изменить определение поля в шаблоне на:

{{> afFieldInput name='image'}} 

 Смежные вопросы

  • Нет связанных вопросов^_^