後掛起過我有這樣的幫手:流星用戶幫手更新
agreed: function(){
if (Meteor.users.findOne({_id: Meteor.userId(), profile: {agreedTermsOfUse: 'true'}}))
return true;
}
在網頁,我檢查我有這樣的:
{{#unless agreed}}
agree form
{{else}}
Create item form.
{{list of item}}
{{/unless}}
到目前爲止,一切進展順利。用戶註冊,然後他可以創建一個項目,並在項目列表上呈現。
現在,我添加了另一個Meteor.call,在客戶端獲得成功回調時,創建項目,它將項目ID添加到用戶的profile.hasItems中。
然後,在獲得該方法的成功後,「除非」返回false,並且我必須再次提交同意。
我錯過了什麼?謝謝。
"submit .create_restaurant": function (event) {
event.preventDefault();
var text = event.target.create_restaurant.value;
Meteor.call('CreateRest', Meteor.userId(), text, function(error, result){
if(error){
}else{
console.log(result, Meteor.userId());
Meteor.call('userRestaurants', result, Meteor.userId(), function (error, result) {
if (error) {
alert(123);
} else {
console.log(result);
}
})
}
}
);
event.target.create_restaurant.value = "";
}
方法:
'CreateRest': function(user_id, title) {
check(title, String);
check(user_id, String);
return callback = Restaurants.insert({
createdBy: user_id,
createdAt: new Date(),
title: title
});
},
'userRestaurants': function(rest_id, createdBy) {
var restId = checkHelper(rest_id, createdBy);
if(restId)
console.log(rest_id, createdBy);
{
var callback = Meteor.users.update(
createdBy,
{$addToSet: {'profile.hasRestaurants': restId}}
);
return callback;
}
}
請包括方法代碼和調用回調。 – richsilv