Что происходит, когда нажата кнопка .addGuest, все работает, за исключением того, что еда становится неопределенной и мое представление нарушено. Все, что обнаружено {{#if owner}}, не отображается, и я получаю эту ошибку в своей консоли.Meteor collection.update вызывает сброс переменной сеанса
Exception in template helper: TypeError: Cannot read property 'owner' of undefined
at Object.Template.menu_details.helpers.owner (http://localhost:3000/client/workflow/meal_details_page/meal_details.js
У меня нет ошибок на моей консоли сервера, и все передаваемые данные сохраняются в моем db. Как-то Session.get ('current_meal') теряет данные о методе приглашения. Я прокомментировал это из обработчика событий, и все остальное работает отлично.
Благодаря
это мой запрос, который заблудился ...
meal: function() {
return MealModel.findOne(Session.get('current_meal'));
},
owner: function() {
var meal = MealModel.findOne(Session.get('current_meal'));
return meal.owner === Meteor.userId();
},
Вот мой метод на сервере
invite: function (options) {
check(options, {
mealId: String,
firstName: String,
lastName: String,
email: String
});
var meal = MealModel.findOne(options.mealId);
if (! meal || meal.owner !== this.userId)
throw new Meteor.Error(404, "No such meal");
MealModel.update(options.mealId, {$addToSet: {
invited: {
firstName: options.firstName,
lastName: options.lastName,
email: options.email
}}});
},
моя Meteor.call функция ...
invite = function(options) {
Meteor.call('invite', options);
},
и, наконец, мой обработчик события ...
'click .addGuest': function (evt, tmpl) {
var firstName = tmpl.find('.firstName').value;
var lastName = tmpl.find('.lastName').value;
var email = tmpl.find('.email').value;
var meal = Session.get('current_meal');
if (firstName.length && lastName.length && email.length) {
var id = createGuest({
firstName: firstName,
lastName: lastName,
email: email,
meal: meal._id,
owner: meal.owner
});
invite({
firstName: firstName,
lastName: lastName,
email: email,
mealId: meal._id
});
};
return false;
},
Искать 'Session.set ('current_meal'', где вы используете его –
Что вы ищете в основном пост шаблон я устанавливаю?. Сесси о том, что будет шаблоном сообщений. –
Я прочитал в документах, что мне требуется обратный вызов при обновлении объекта. Я не понимаю, как это сделать. –