私は流星でエラー通知パネルを書いているだけです。ここでクライアント側のmongodbを作成しますが、throwError関数によってそのクライアント側のデータベースにMeteor.Errorメッセージをプッシュすることはできません。現在、アラートボックス内に表示されています
コレクション/signup.js
signupDB = new Meteor.Collection('signup');
Meteor.methods({
signupSubmit : function(postData) {
var signinEmailExist = signinDB.findOne({
email : postData.email
});
if (postData.email && signinEmailExist)
throw new Meteor.Error(422, "exist in signinDB");
var signupEmailExist = signupDB.findOne({
email : postData.email
});
if (postData.email && signupEmailExist)
throw new Meteor.Error(422, "exist in signupDB"); //
var user = _.extend(_.pick(postData, 'email', 'password'), {
insert_time : new Date().getTime() });
var userId = signupDB.insert(user);
return userId;
}
});
クライアント/エラー/error.js
errorDB = new Meteor.Collection(null);
throwError = function(data) {
errorDB.insert({data: "in throwError", del: "N"})
}
errorDB.insert({data: "in signup", del: "N"})
コードはクライアントフォルダー内のどこでも機能します
ここで throwError 関数を呼び出すことはできませんが、signupSubmit メソッドのエラーが警告ボックスに表示されます
考えているような出版/購読の問題ですか(サインアップデータベースには書かれていません)?
Meteor.Methods から Meteor.Error アラートをキャッチしてクライアント側のデータベースに挿入する方法を教えてください。
Meteor.Methods エラーをトラップする throwError のような他の関数はありますか?