Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何在RubyonRails中计算布尔列的和_Ruby On Rails_Rails Activerecord - Fatal编程技术网

Ruby on rails 如何在RubyonRails中计算布尔列的和

Ruby on rails 如何在RubyonRails中计算布尔列的和,ruby-on-rails,rails-activerecord,Ruby On Rails,Rails Activerecord,我有一个带有布尔值的列,希望使用“sum”函数来计算总数。此列用于获取与Stack Overflow或reddit类似的投票计数 这是我的密码 votes = Vote.all total = votes.sum(:direction) puts' ....................' + total.to_s 这是我的错误 undefined method `+' for #<Vote:0x000000047c9170> 的未定义方法“+”# 感谢任何帮助布尔值的总和?

我有一个带有布尔值的列,希望使用“sum”函数来计算总数。此列用于获取与Stack Overflow或reddit类似的投票计数

这是我的密码

votes = Vote.all
total = votes.sum(:direction)
puts' ....................' + total.to_s
这是我的错误

undefined method `+' for #<Vote:0x000000047c9170>
的未定义方法“+”#

感谢任何帮助

布尔值的总和?我只需使用
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}"

Vote.sum(:direction)
它执行一个db查询,您无法执行该查询,因为您已经对关系调用了
.all
。否则您可以执行:
投票。映射(&:direction)。减少(:+)
投票。求和(&:direction)
这是最佳做法,还是应该使用范围?