I've got the following code to try to populate a select:
In \lib\mongo.js:
JobLocations = new Mongo.Collection("jobLocations");
In \server\scheduler.js:
Meteor.startup(function () {
// code to run on server at startup
if (JobLocations.find().count() == 0) {
console.log('JobLocations collection empty; inserting');
JobLocations.insert({ value: "1", display: "Uno" });
JobLocations.insert({ value: "2", display: "Dos" });
JobLocations.insert({ value: "3", display: "Tres" });
JobLocations.insert({ value: "4", display: "Cuatro" });
JobLocations.insert({ value: "5", display: "Cinco" });
JobLocations.insert({ value: "6", display: "Seis" });
JobLocations.insert({ value: "7", display: "Siete" });
JobLocations.insert({ value: "8", display: "Ocho" });
JobLocations.insert({ value: "9", display: "Nueve" });
JobLocations.insert({ value: "10", display: "Zehn" });
}
});
Meteor.publish("jobLocations", function () {
return JobLocations.find();
});
Meteor.methods({
'insertJobLocations': function(companyId, jobLoc) {
JobLocations.insert({
jl_companyid: companyId,
jl_jobloc: jobLoc,
jl_created_by: Meteor.userId()
});
}
});
In \client\main.js:
Meteor.subscribe("jobLocations");
Template.tblScheduler.helpers({
jobLocations: function() {
return JobLocations.find();
}
});
In \client\main.html:
<select name="date1Shift1JobLoc1Count" id="date1Shift1JobLoc1Count">
{{#each jobLocations}}
<option value={{jl_jobloc}}>{{jl_jobloc}}</option>
{{/each}}
</select>
What am I missing or doing wrong?
After removing all the records from the Collection, I changed the server Startup function in server.js to this:
Meteor.startup(function () {
// code to run on server at startup
if (JobLocations.find().count() == 0) {
console.log('JobLocations collection empty; inserting');
JobLocations.insert({ jl_companyid: "axx", jl_jobloc: "Uno" });
JobLocations.insert({ jl_companyid: "axx", jl_jobloc: "Dos" });
JobLocations.insert({ jl_companyid: "axx", jl_jobloc: "Tres" });
JobLocations.insert({ jl_companyid: "axx", jl_jobloc: "Cuatro" });
JobLocations.insert({ jl_companyid: "axx", jl_jobloc: "Cinco" });
JobLocations.insert({ jl_companyid: "axx", jl_jobloc: "Seis" });
JobLocations.insert({ jl_companyid: "axx", jl_jobloc: "Siete" });
JobLocations.insert({ jl_companyid: "axx", jl_jobloc: "Ocho" });
JobLocations.insert({ jl_companyid: "axx", jl_jobloc: "Nueve" });
JobLocations.insert({ jl_companyid: "axx", jl_jobloc: "Zehn" });
}
});
...and it still doesn't work.
Try
jobLocations: function() {
return JobLocations.find().fetch();
}