さて、私はMeteor.jsと何かについて少し混乱しています。私は様々なコンセプトをテストするためのサイトを作成しましたが、うまくいきました。 「安全でない」と「自動公開」を削除すると、サーバーに取得してプッシュしようとすると、複数の「アクセス拒否」エラーが発生します。私はそれが次のスニペットとは何かを持って信じて:Meteor.js公開と購読?
Template.posts.posts = function() {
return Posts.find({}, {sort: {time: -1}});
}
私はそれは、「安全でない」と「autopublish」が有効ではなく、彼ら一度行うことを許された、直接コレクションにアクセスしようとしていることだと思いますアクセスが拒否されたことが無効にされました。私が考えるもう一つの作品には問題がある:行うことが許可されていない、直接コレクションにアクセスしようとしている:
else {
Posts.insert({
user: Meteor.user().profile.name,
post: post.value,
time: Date.now(),
});
私は事の同じ種類が起こっていると思います。
私の質問は、「安全でない」と「自動公開」を有効にする必要がないように、どのように再調整するのですか?
ありがとうございました。
EDIT
決勝:
/**
* Models
*/
Posts = new Meteor.Collection('posts');
posts = Posts
if (Meteor.isClient) {
Meteor.subscribe('posts');
}
if (Meteor.isServer) {
Meteor.publish('posts', function() {
return posts.find({}, {time:-1, limit: 100});
});
posts.allow({
insert: function (document) {
return true;
},
update: function() {
return false;
},
remove: function() {
return false;
}
});
}
はい、あなたは宣言に答える「このアクションは許可しない」を意味します除き同様に、db.denyは、まったく同じように動作します変数 'Posts'はサーバー上の 'posts'でアクセスしようとします。タイプミスを修正する必要があります。質問と答えが表示され、実行されないコードが表示されます。 – user728291