7

私は Meteor プロジェクトで Collection2 と Autoform を使用してきましたが、作業がずっと簡単になりました!

ただし、安全でないものを削除すると、挿入されなくなります (自動フォーム送信ボタン)。私はこれを期待していました!

しかし、私は検索しましたが、これを機能させる標準的な方法が見つかりませんか? libフォルダーにスキーマが定義されており、オートフォームはテンプレートのクイックフォームとして定義されています。クライアント側の挿入を許可するか(私はやりたくない)、サーバー側に転送する必要があることを知っています(おそらく.方法?)

どんな提案でも大歓迎です!私はそれを実装する標準的な方法を探しています。

4

1 に答える 1

10

多くの掘り下げた後、私自身の答えを見つけました。挿入、更新、および削除の許可ルールを作成しました。

Posts = new Mongo.Collection('posts');

//SECURITY - Allow Callbacks for posting

Posts.allow({
  insert: function(userId, doc) {
    // only allow posting if you are logged in
    return !! userId; 
  },
  update: function(userId, doc) {
    // only allow updating if you are logged in
    return !! userId; 
  },
  remove: function(userID, doc) {
    //only allow deleting if you are owner
    return doc.submittedById === Meteor.userId();
  }
});

//Schema then defined as usual

submitById は、userId を保持するコレクション内のフィールドです。別の名前を付けている場合は、変更してください。

これが同様の問題を抱えている人に役立つことを願っています。

于 2014-12-04T11:22:54.973 に答える