我有一个带有布尔值的列,并希望使用'sum'函数来计算总数。此列用于获得类似于Stack Overflow或reddit的投票计数。
这是我的代码
votes = Vote.all
total = votes.sum(:direction)
puts' ....................' + total.to_s
这是我的错误......
undefined method `+' for #<Vote:0x000000047c9170>
感谢任何帮助
答案 0 :(得分:8)
布尔值的总和?我只需使用direction=false
或direction=true
total_down = Vote.where(direction: false).count #down vote
total_up = Vote.where(direction: true).count #up vote
puts "....... #{total_up} .... #{total_down}"