Được rồi, vì vậy tôi hơi bối rối về điều gì đó với Meteor.js. Tôi đã tạo một trang web với nó để kiểm tra các khái niệm khác nhau và nó hoạt động tốt. Khi tôi đã xóa "không an toàn" và "tự động xuất bản", tôi nhận được nhiều lỗi "truy cập bị từ chối" khi cố gắng truy xuất và đẩy tới máy chủ. I belive nó có cái gì để làm với đoạn mã sau:Xuất bản và Đăng ký Meteor.js?
Template.posts.posts = function() {
return Posts.find({}, {sort: {time: -1}});
}
Tôi nghĩ rằng nó đang cố gắng truy cập vào bộ sưu tập trực tiếp, mà nó được phép làm với "không an toàn" và "autopublish" được kích hoạt, nhưng một khi họ đã bị vô hiệu hóa nó đã được cấp quyền truy cập bị từ chối. Một phần khác mà tôi nghĩ là có vấn đề:
else {
Posts.insert({
user: Meteor.user().profile.name,
post: post.value,
time: Date.now(),
});
Tôi nghĩ rằng cùng một điều đang xảy ra: nó đang cố gắng truy cập trực tiếp vào bộ sưu tập mà nó không được phép làm.
Câu hỏi của tôi là, làm cách nào để xác định lại nó để tôi không cần "không an toàn" và "tự động xuất bản" được bật?
Cảm ơn.
EDIT
cuối cùng:
/**
* 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;
}
});
}
có, bạn khai báo biến 'Bài đăng' nhưng cố gắng truy cập nó bằng 'bài đăng' trên máy chủ. Bạn nên sửa lỗi đánh máy ngay bây giờ bạn có câu hỏi và câu trả lời hiển thị mã sẽ không chạy. – user728291