メソッドを介してカスタム "isContributor"フィールドをMeteor.Usersに追加しようとしていますが、何らかの形でフィールドを追加していません。 (私は誰がこのアップデートを行うことができるかの安全性チェックの前にも話している)。クライアント側ではMeteor - ユーザーカスタムフィールドを追加するメソッドが機能しない
私は次のイベントがあります。
Template.Articles.events({
'click #BeContributor': function() {
userId = Meteor.userId();
Meteor.call('setContributorState', userId);
}
});
、サーバーに/次をmain.js:
Meteor.methods({
setContributorState: function(userId) {
Meteor.users.update(userId, {
$set: {
isContributor: true
}
});
}
});
どういうわけか、それは私のユーザーのためのフィールドを追加しません。コンソールエラーやサーバーエラーはありません。私はフィールドを追加する権利の期間に何かを逃したと思う。何か案は ?
ありがとうございます。
--- EDITは---
実際の方法は、働いていたが、私はフィールドが更新されたことMeteorToysにチェックインができませんでしたので、私は結果が戻って公開していませんでした。以下の出版物で、それは動作します:
Meteor.publish(null, function(){
return Meteor.users.find({_id: this.userId}, {fields: {isContributor: 1}});
});
はあなたがログインしているユーザーの貢献者のステータスを変更しようとしている場合は、任意のパラメータを渡す必要はありません
Publishing custom Meteor.user() fields
サーバーメソッドで 'console.log'を実行して、実際に呼び出されているかどうかを確認してください。 –
ちょうどチェックされました:メソッドが呼び出され、それまでUserIdが適切に実行されています。アップデートはうまくいかないようです。 – Ivo