微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

即使将结果分组,Rails 4 AR .select也会在结果中包含pk字段与Rails 3.2相对

如何解决即使将结果分组,Rails 4 AR .select也会在结果中包含pk字段与Rails 3.2相对

我正在将我的应用程序从Rails 3.2迁移到4.0,并且发现了一些失败的测试,因为当使用类似以下命令时,Rails 4在结果集中包括PK字段(通常为“ id”) >

Invoice.where(cust_id: 1234).select('sum(gross) as gross,sum(tax) as tax,sum(net) as net').to_a.first.attributes

这曾经在3.2中返回{'gross' => 1000.00,'tax' => 0.00,'net' => 1000.00},但在4.0中它返回{'gross' => 1000.00,'net' => 1000.00,id => nil}

如果您正在编写测试并将实际结果与预期结果进行比较,那么这将是一个问题,在这种情况下,id字段会引发比较结果。我在任何地方都看不到这种行为变化。有没有办法关闭此“功能”?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。