2016-07-30 9 views
0

Я использую метод метеоритов и железо: маршрутизатор для создания формы, которая перенаправляется на форму _id на submit (т.е. localhost3000/submit/_id). Все работает отлично, но то, что я хочу сделать сейчас, сделать так, мой шаблон отображает только что формирует результаты не все из нихМетеорный автоформат отображает конкретное представление

вот код, который я в настоящее время

HTML:.

<div class="displayBox"> 
    {{#each Submits}} 
     {{> formDisplay}} 
    {{/each}} 
    </div> 

<template name="formDisplay"> 

    <h1> 
     {{title}} 
     {{subject}} 
     {{summary}} 
    </h1> 

</template> 

Крючок:

AutoForm.addHooks('insertSubmit', { 
    onSuccess: function(doc) { 
    Router.go('formDisplay',{_id: this.docId}); 
    } 
}) 

Routing:

Router.route('/submit', { 
    layoutTemplate: 'submitLayout', 
    waitOn: function() { return Meteor.subscribe("Submits"); }, 
    loadingTemplate: 'loading' 
}); 

Router.route('/submit/:_id', { 
    name: 'formDisplay', 
    data: function() { return Products.findOne(this.params._id);}, 
    waitOn: function() { return Meteor.subscribe("Submits"); }, 
    loadingTemplate: 'loading' 
}); 

Форма:

SubmitSchema = new SimpleSchema({ 
    title: { 
    type: String, 
    label: "Title" 
    }, 
    subject:{ 
    type: String, 
    label: "subject" 
    }, 
    summary:{ 
    type: String, 
    label: "Summary" 
    }, 
    author:{ 
    type: String, 
    label: "Author", 
    autoValue: function() { 
     return this.userId 
    }, 
    autoform: { 
    type: "hidden" 
    } 
}, 
    createdAt: { 
    type: Date, 
    label: "Created At", 
    autoValue: function(){ 
     return new Date() 
    }, 
    autoform: { 
     type: "hidden" 
    } 
    } 
}); 

Submits.attachSchema(SubmitSchema); 

ответ

1

Вам нужно добавить фильтр ID в вашей публикации, только вернуть текущее конкретный документ.

Ваш маршрут Код:

Router.route('/submit/:_id', { 
    name: 'formDisplay', 
    data: function() { return Products.findOne(this.params._id);}, 
    waitOn: function() { return Meteor.subscribe("Submits", { '_id': this.params._id }); }, 
    loadingTemplate: 'loading' 
}); 

Ваш код публикации:

Meteor.publish('tasks', function(filter) { 
    filter = (filter ? filter : {}); 
    return Products.findOne(filter); 
}); 
+0

Спасибо так много работает отлично! – Blezx