मैंने thismeteor search-source पर ट्यूटोरियल का पालन किया और उदाहरण को संशोधित किया ताकि यह मेरी वर्तमान आवश्यकताओं के अनुरूप हो। यह मेरा collections.js
जो मेरे lib निर्देशिका में स्थित हैउल्का खोज-स्रोत पैकेज का उपयोग करने का प्रयास करते समय मुझे कोई त्रुटि क्यों मिल रही है?
Guides = new Mongo.Collection("guides");
मैं अपने ग्राहक पक्ष नियंत्रक में कोड निम्नलिखित है।
var options = {
keepHistory: 1000 * 60 * 5,
localSearch: true
};
var fields = ['title'];
GuideSearch = new SearchSource('guides', fields, options);
Template.guide_list.helpers({
getGuides: function() {
return GuideSearch.getData({
transform: function (matchText, regExp) {
return matchText.replace(regExp, "<b>$&</b>")
}
});
},
isLoading: function() {
return GuideSearch.getStatus().loading;
}
});
Template.guide_list.events({
"keyup #title": _.throttle(function(e) {
var text = $(e.target).val().trim();
GuideSearch.search(text);
}, 200)
});
और ये मेरे सर्वर साइड कोड
SearchSource.defineSource('guides', function(searchText, options) {
if(searchText) {
var regExp = buildRegExp(searchText);
var selector = {title: regExp}
return Guides.find(selector, options).fetch();
} else {
return Guides.find({}, options).fetch();
}
});
function buildRegExp(searchText) {
// this is a dumb implementation
var parts = searchText.trim().split(/[ \-\:]+/);
return new RegExp("(" + parts.join('|') + ")", "ig");
}
किसी कारण के रूप में, मैं जब मेरे इनपुट क्षेत्र
Exception in delivering result of invoking 'search.source': Meteor.makeErrorType/[email protected]://10.0.3.162:3000/packages/meteor.js?9730f4ff059088b3f7f14c0672d155218a1802d4:525:15
[email protected]://10.0.3.162:3000/packages/ddp-client.js?250b63e6c919c5383a0511ee4efbf42bb70a650f:4625:23
Connection/[email protected]://10.0.3.162:3000/packages/ddp-client.js?250b63e6c919c5383a0511ee4efbf42bb70a650f:3365:7
._launchConnection/self.socket.onmessage/<@http://10.0.3.162:3000/packages/ddp-client.js?250b63e6c919c5383a0511ee4efbf42bb70a650f:2734:11
[email protected]://10.0.3.162:3000/packages/underscore.js?46eaedbdeb6e71c82af1b16f51c7da4127d6f285:149:7
._launchConnection/[email protected]://10.0.3.162:3000/packages/ddp-client.js?250b63e6c919c5383a0511ee4efbf42bb70a650f:2733:9
[email protected]://10.0.3.162:3000/packages/ddp-client.js?250b63e6c919c5383a0511ee4efbf42bb70a650f:173:9
[email protected]://10.0.3.162:3000/packages/ddp-client.js?250b63e6c919c5383a0511ee4efbf42bb70a650f:1158:5
[email protected]://10.0.3.162:3000/packages/ddp-client.js?250b63e6c919c5383a0511ee4efbf42bb70a650f:1216:13
SockJS.websocket/[email protected]://10.0.3.162:3000/packages/ddp-client.js?250b63e6c919c5383a0511ee4efbf42bb70a650f:1363:9
में कुछ लिखकर निम्न त्रुटि संदेश प्राप्त होता है यह मेरा टेम्पलेट कोड है :
template(name="guide_list")
.format-properly
.container-fluid
.input-group#adv-search
.form-horizontal(role="form" method="POST" action="#")
.col-md-6
.form-group
label(for="contain") Guide title
input.form-control(type="text" id="title")
.col-md-6
.form-group
label(for="contain") Author
input.form-control(type="text" name="author")
.col-md-6
.form-group
label(for="hero") Select a hero
select.form-control(name="hero")
option(value="all" selected) All Heroes
option(value="Druid") Druid
option(value="Hunter") Hunter
option(value="Mage") Mage
option(value="Paladin") Paladin
option(value="Priest") Priest
option(value="Rogue") Rogue
option(value="Shaman") Shaman
option(value="Warlock") Warlock
option(value="Warrior") Warrior
.col-md-6
.form-group
label(for="filter") Filter by
select.form-control(name="filterBy")
option(value="0" selected) All guides
option(value="most_viewed") Most viewed
option(value="top_rated") Top rated
option(value="most_commented") Most commented
.container-fluid
.table-responsive
table.table.table-hover
thead
tr
th hero
th title
th author
th updated
th dust
th
span.glyphicon.glyphicon-eye-open
th
span.glyphicon.glyphicon-heart
th
span.glyphicon.glyphicon-comment
tbody
each guides
tr
td {{hero}}
td
a(href="/guide/{{formatId _id}}") {{title}}
td {{authorUsername}}
td {{moFormat modifiedAt 'YYYY-MM-DD'}}
td {{dust}}
td {{hitCount}}
td {{rating}}
td {{commentCount}}
tbody
each getGuides
tr
td {{hero}}
td
a(href="/guide/{{formatId _id}}") {{title}}
td {{authorUsername}}
td {{moFormat modifiedAt 'YYYY-MM-DD'}}
td {{dust}}
td {{hitCount}}
td {{rating}}
td {{commentCount}}
किसी भी मदद या सुझाव की अत्यधिक सराहना की जाती है!
संपादित करें: मैं 1.4.2
'गाइड्स = नए Mongo.Collection (" गाइड ");' में परिभाषित किया जा रहा है क्लाइंट साइड स्क्रिप्ट। सर्वर साइड स्क्रिप्ट में 'गाइड' को भी बुलाया जा रहा है, लेकिन यह उपलब्ध नहीं है क्योंकि इसे क्लाइंट स्क्रिप्ट में परिभाषित किया गया था। कोड की उस पंक्ति को एक 'lib' फ़ोल्डर में जेएस फ़ाइल में ले जाने का प्रयास करें, इसलिए यह सर्वर और क्लाइंट दोनों पर उपलब्ध होगा। यदि ऐसा नहीं है, तो क्या आप अपने टेम्पलेट से HTML शामिल कर सकते हैं। –
@BrianShamblen संग्रह घोषणा दोष नहीं थी। लेकिन मैंने अपनी पोस्ट संपादित की और अपना टेम्पलेट पोस्ट किया :) –
मेरा मानना है कि यह (अनियंत्रित) मुद्दे के कारण है जो मैंने अपने उत्तर में उल्लेख किया है। यदि नहीं, तो जांचें कि सर्वर लॉग में कोई त्रुटि है या नहीं। इस पैकेज को थोड़ा प्यार और अद्यतन करने की आवश्यकता है :) – MasterAM