1)显示平均评分和评论数
<p>Average Rating: <img class="stars" src="/img/star{{averageRating}}.png"> ({{countReviews}})</p>
我搬到这个代码到reviews.helpers部分
Template.reviews.helpers({
'reviews': function() {
return Reviews.find({productId: Router.current().data()._id})
},
countReviews: function(){
return Reviews.find({productId: Router.current().data()._id}).count();
},
averageRating: function() {
var reviews = Reviews.find({productId: Router.current().data()._id}); //get all reviews for productId
//var ratings = reviews.map(function(player){return player.score;}); // get just the ratings, or use _.pluck
var ratings = _.pluck(reviews, 'ratings'); // get just the ratings i.e. [1, 5, 3, 2, 5]
var sum = ratings.reduce(function(pv, cv){return pv + cv;}, 0); //sum ratings i.e. 14
var avg = sum/ratings.length; // i.e. 2.8
return Math.round(2.8); // round avg to ensure only integer values are returned
},
})
2)种子数据库
Docs将Meteor.startup块添加到种子数据库
// On server startup, if the database is empty, create some initial data.
if (Meteor.isServer) {
Meteor.startup(function() {
if (Categories.find().count() === 0) {
Categories.insert({name:'Electronics',slug:'electronics'});
Categories.insert({name:'Fashion',slug:'fashion'});
Categories.insert({name:'Books',slug:'books'});
}
});
}
你能否帮我解答第一个问题,如何显示被点击的产品的总体评价和平均评分? @JeremyK – Waqar
averageRating帮助函数仍未显示平均评分。你能否也请解释一下这个函数是如何工作的? @Jeremyk – Waqar
当然我会分解成更多的步骤。 – JeremyK