2017-02-09 14 views
0

У меня есть AUTOFORM с этой опцией:Не получив документ _id в качестве аргумента в AutoForm метода обновиться

{{ 
    #autoForm 
    collection=articulosColecction 
    id="articulos_modificar" 
    doc=articuloToModificar 
    type="method-update" 
    meteormethod="areas.update" 
    singleMethodArgument=true // Recommended here 
}} 

singleMethodArgument = истина Рекомендованного here

И мой метод заключается в следующем:

export const update = new ValidatedMethod({ 
    name: 'areas.update', 
    validate: null, 
    run(doc) { 
    console.log(doc._id); 
    Areas.update({ _id: doc._id }, doc.modifier) 
    } 
}); 

documentation говорит:

  1. Если вы установите singleMethodArgument = true как атрибут формы, ваш метод будет вызываться с единственным аргументом объекта с свойствами _id и модификатором. Вы должны сделать это, если используете пакет mdg: validated-method.

Но console.log(doc._id); выводит undefined и я попытался `console.log (DOC)» и выводит только объект модификатора.

Что происходит? Это что-то не так с моей автоформой?

+0

У меня была неправильная коллекция в аргументе 'collection' формы' autoForm'. –

ответ

0

Аргумент meteormethod должен называть Meteor.Method.

вы должны определить:

Meteor.methods({ 
    areas.update(updateData){ 
    check(updateData._id, String); 
    check(updateData.modifier, Object); 
    //do other stuff here 
    } 
}); 

внутри метода вы можете использовать data._id и модификатор.