Ruby on rails 当.sum和.to_a.sum在Rails 5中给出不同的结果时会发生什么
我已经部分解决了一个问题,但正在努力了解发生了什么 我从数据库中获取数据:Ruby on rails 当.sum和.to_a.sum在Rails 5中给出不同的结果时会发生什么,ruby-on-rails,postgresql,ruby-on-rails-4,ruby-on-rails-5,Ruby On Rails,Postgresql,Ruby On Rails 4,Ruby On Rails 5,我已经部分解决了一个问题,但正在努力了解发生了什么 我从数据库中获取数据: rides = Ride.all rides.sum(:value) returns 224.62 rides.to_a.sum(&:value) returns 213.93 213.93是正确的结果 我在其他问题中读到,这是一个相当多的人的问题,但还没有找到解决办法。原因可能是什么?我从哪里开始调查 一个想法是,我使用软删除,第一个查询可能会忽略删除的行,但在这种情况下,没有删除的行,所以这不是原因。
rides = Ride.all
rides.sum(:value) returns 224.62
rides.to_a.sum(&:value) returns 213.93
213.93是正确的结果
我在其他问题中读到,这是一个相当多的人的问题,但还没有找到解决办法。原因可能是什么?我从哪里开始调查
一个想法是,我使用软删除,第一个查询可能会忽略删除的行,但在这种情况下,没有删除的行,所以这不是原因。您可以发布
Ride
模型的db模式吗?当您遇到某种魔法时,您必须在development
中启动Rails控制台(强烈建议使用pry
)。开始查看SQL中的Ride.all.sum(:value)
和Ride.all.to\u a
。