什么是获得记录之间差异的最佳方法'柱

时间:2017-05-29 10:42:43

标签: sql ruby-on-rails ruby activerecord

我有一个模型Build Log:- Preparing to start the job... Downloading build artifacts... Target: https://api.ng.bluemix.net Using manifest file /home/pipeline/4095d817-6887-4f7e-b317-c58c97c5afd7/manifest.yml Creating app JoinSplit-20170529103009108 in org Subhadeep / space dev as subhadeep.bose@in.ibm.com... OK Creating route joinsplit-20170529103009108-anecdotal-menorah.mybluemix.net... OK Binding joinsplit-20170529103009108-anecdotal-menorah.mybluemix.net to JoinSplit-20170529103009108... OK Uploading JoinSplit-20170529103009108... Uploading app files from: /home/pipeline/4095d817-6887-4f7e-b317-c58c97c5afd7 Uploading 165.2K, 34 files Done uploading OK Starting app JoinSplit-20170529103009108 in org Subhadeep / space dev as subhadeep.bose@in.ibm.com... Creating container Successfully created container Downloaded app package (437.8K) -----> Download go 1.8.3 -----> Checking Godeps/Godeps.json file -----> Installing godep v79 Download [https://buildpacks.cloudfoundry.org/dependencies/godep/godep-v79-linux-x64-9e37ce0f.tgz] -----> Installing glide v0.12.3 Download [https://buildpacks.cloudfoundry.org/dependencies/glide/glide-v0.12.3-linux-x64-aa256363.tgz] -----> Installing go 1.8.3 Download [https://buildpacks.cloudfoundry.org/dependencies/go/go1.8.3.linux-amd64-32ec5ac6.tar.gz] -----> Running go build finalize [31;1m**WARNING**[0m vendor/ directory does not exist. [31;1m**WARNING**[0m Installing package '.' (default) -----> Running: go install -tags cloudfoundry -buildmode pie . Exit status 0 Staging complete Uploading droplet, build artifacts cache... Uploading build artifacts cache... Uploading droplet... Uploaded build artifacts cache (194B) Uploaded droplet (2.7M) Uploading complete Successfully destroyed container 0 of 1 instances running, 1 starting 0 of 1 instances running, 1 starting 0 of 1 instances running, 1 starting 0 of 1 instances running, 1 starting 0 of 1 instances running, 1 starting 0 of 1 instances running, 1 starting 0 of 1 instances running, 1 starting 0 of 1 instances running, 1 starting 0 of 1 instances running, 1 starting 0 of 1 instances running, 1 starting 0 of 1 instances running, 1 starting 0 of 1 instances running, 1 starting 0 of 1 instances running, 1 starting 0 of 1 instances running, 1 starting 0 of 1 instances running, 1 starting 0 of 1 instances running, 1 starting 0 of 1 instances running, 1 starting 0 of 1 instances running, 1 starting 0 of 1 instances running, 1 starting 0 of 1 instances running, 1 starting 0 of 1 instances running, 1 starting 0 of 1 instances running, 1 starting 0 of 1 instances running, 1 starting 0 of 1 instances running, 1 starting 0 of 1 instances running, 1 starting 0 of 1 instances running, 1 starting 0 of 1 instances running, 1 starting 0 of 1 instances running, 1 starting 0 of 1 instances running, 1 crashed FAILED Error restarting application: Start unsuccessful TIP: use 'cf logs JoinSplit-20170529103009108 --recent' for more information Finished: FAILED ,其中有CounterRecord列。记录清单:

data

我希望获得当前和之前记录r1.data = 10 r2.data = 12 r3.data = 15 r4.data = 20 之间的差异。 Rails有默认方式吗?

3 个答案:

答案 0 :(得分:2)

我不认为setQuery()Rails有这样的东西,但它可以很容易地用一点红宝石完成:

ActiveRecord

答案 1 :(得分:1)

  

导轨有默认方式吗?

没有

可能的解决方案:

CounterRecord.pluck(:data).each_cons(2).map { |first, second| second - first }

注意:如果记录数量很大,这很容易扼杀你的记忆。

答案 2 :(得分:0)

没有默认的方法可以这样做。