ठीक है, तो मैं Meteor.js के साथ कुछ के बारे में थोड़ा उलझन में हूँ। मैंने विभिन्न अवधारणाओं का परीक्षण करने के लिए इसके साथ एक साइट बनाई, और यह ठीक काम किया। एक बार जब मैंने "असुरक्षित" और "ऑटोपublिश" हटा दिया, तो मुझे सर्वर को पुनर्प्राप्त करने और धक्का देने का प्रयास करते समय कई "पहुंच से वंचित" त्रुटियां मिल गईं। मैं belive यह निम्नलिखित स्निपेट के साथ कुछ है: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(),
});
मुझे लगता है कि बात यह है कि इसी प्रकार की हो रहा है: यह जो यह करने के लिए अनुमति नहीं है, सीधे संग्रह का उपयोग करने की कोशिश कर रहा है।
मेरा सवाल है, मैं इसे फिर से कारक कैसे बना सकता हूं ताकि मुझे "असुरक्षित" और "ऑटोप्ब्लिश" सक्षम न हो?
धन्यवाद।
संपादित
अंतिम:
/**
* 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;
}
});
}
हाँ, आप घोषणा का जवाब देता "इस कार्रवाई की अनुमति नहीं है" वेरिएबल 'पोस्ट' लेकिन सर्वर पर 'पोस्ट' के साथ इसे एक्सेस करने का प्रयास करें। आपको टाइपो को सही करना चाहिए क्योंकि अब आपके पास एक प्रश्न है और कोड दिखा रहा है जो रन नहीं करेगा। – user728291