所以,我在“review”模型上有一个“after_save”钩子,调用产品模型的“calculate_specific_rating”函数。该函数的代码如下:
另外,每次保存评论时都初始化一个新哈希表是否可以?我想要一些替代方案。谢谢。
def calculate_specific_rating
ratings = reviews.reload.all.pluck(:rating)
specific_rating = Hash.new(0)
ratings.each { |rating| specific_rating[rating] += 1 }
self.specific_rating = specific_rating
save
end
现在,它返回
specific_rating => {
"2"=> 3, "4"=> 1
}
I want it to return like:
specific_rating => {
"1"=> 0, "2"=>3, "3"=>0, "4"=>1, "5"=>0
}
另外,每次保存评论时都初始化一个新哈希表是否可以?我想要一些替代方案。谢谢。