所以,我在评论模型上有一个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
}
我希望它像这样返回:
specific_rating => {
"1"=> 0, "2"=>3, "3"=>0, "4"=>1, "5"=>0
}
另外,每次保存评论时都可以初始化一个新的哈希值吗?我想要一些替代品。谢谢