2016-04-19 3 views
0

Я новичок в Метеор. Я пытаюсь вызвать Meteor.method ('addTask') из помощника события, и я продолжаю получать ошибку: «Ошибка вызова метода« addTask »: метод« addTask »не найден [404]». Я поставлю свой код ниже:Метод метеора, дающий ошибку

Template.add_task.events({ 
'submit .js-emoticon': function(event){ 
    event.preventDefault(); 
    // console.log('clicked'); 
    // var text = event.target.text.value; 
    // $('#text_display').html(text); 
    // $('#text_display').emoticonize(); 
    Meteor.call("addTask"); 
} 

});

И Meteor.method здесь:

Meteor.methods({ 
'addTask':function(){ 
    var task = event.target.text.value; 
    Items.insert({ 
    created:new Date().toLocaleDateString("en-US"), 
    task:task 
    }); 
    console.log(task); 
} 

});

Оба находятся на main.js в папке клиента. Я попытался поместить метод на сервер/main.js, и я получаю сообщение об ошибке: «Ошибка вызова метода« addTask »: ошибка внутреннего сервера [500]».

Если он находится на клиенте, он будет регистрировать значение #text для консоли, но на сервере он даже этого не делает.

Как я уже сказал, я изучаю Метеор и исследовал это как способ сделать это. Я, очевидно, что-то пропустил и не могу понять. Любая помощь будет оценена по достоинству.

ответ

2

Вы пытаетесь просмотреть элемент DOM с вашего кода сервера. Вам нужно получить этот элемент на клиенте, а затем передать его методу, который вы можете поместить в папку /lib для компенсации задержки, если хотите.

Клиент:

Template.add_task.events({ 
    'submit .js-emoticon': function(event){ 
    event.preventDefault(); 
    var task = event.target.text.value; 
    Meteor.call("addTask",task); 
    } 
}); 

Сервер:

Meteor.methods({ 
    'addTask':function(task){ 
    check(task,String); 
    Items.insert({ created: new Date(), task: task }); 
    console.log(task); 
    } 
}); 

Вы никогда хотите преобразовать даты в строки, когда вы упорно их в Монго. Это делает поиск по датам невозможным.

+2

@oscar Я предлагаю прочитать [руководство] (http://guide.meteor.com/structure.html), для текущей структуры файлов и рекомендаций по импорту. Также обязательно проверяйте аргументы метода. :) –

+0

Большое спасибо. Работал отлично. Я понимаю, в чем проблема. @DavidWeldon проверит руководство по этому вопросу. Благодаря! –

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