ruby-on-rails - 如何比较上一个条目
问题描述
我有一张消费表
create_table "consumptions", force: :cascade do |t|
t.float "kilometers"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.integer "user_id"
end
这是用户 1 的消费列表
#<Consumption:0x007f8654895080
id: 1,
kilometers: 10000.0,
created_at: Wed, 07 Nov 2018 15:23:21 UTC +00:00,
updated_at: Wed, 07 Nov 2018 15:23:21 UTC +00:00,
user_id: 1>,
#<Consumption:0x007f865489c268
id: 4,
kilometers: 10800.0,
created_at: Wed, 24 Oct 2018 14:30:23 UTC +00:00,
updated_at: Thu, 08 Nov 2018 12:35:37 UTC +00:00,
user_id: 1>,
#<Consumption:0x007f8654893f50
id: 6,
kilometers: 11400.0,
created_at: Thu, 08 Nov 2018 11:56:52 UTC +00:00,
updated_at: Thu, 08 Nov 2018 12:36:42 UTC +00:00,
user_id: 1>,
我想比较一下每次消耗的公里数差异...
consumptions
id | km |
1 | 10000 |
4 | 10800 |
6 | 11400 |
id 1 和 4 之间的结果应该是 800
4 到 6 之间的结果应该是 600
解决方案
我建议你看看https://github.com/geokit/geokit-rails
你只需要添加acts_as_mappable
到你的模型中(决定你是配置默认值还是将它们放在你的模型中,我认为最好的是在配置文件上做的)。
然后你只需使用 by_distance
方法,你的代码就会看起来很不错:)
推荐阅读
- java - 基于 HTTP 查询从 JSON 响应获取图像时出错
- java - 在 Java Wireless Toolkit 中运行应用程序的困难
- symfony - 简单的管理包。Trix 编辑器。更改代码段的包装标签。
->
- python-3.x - Trying to webscrape amazon.in using BeautifulSoup
- javascript - Chartjs - Laravel 5.8 未定义未捕获的参考错误图表
- java - Java中的多重继承。通过扩展顺序分配优先级
- css - 如何始终显示背景图像的中心?
- aws-kms - Persistent InvalidCiphertextException using KMS to Decrypt
- android - How to place an image view over a button in layout for api levels below 21?
- regex - 从左到右重新格式化数字,如 1111-2222-3333-4444