我有一种感觉,有人会给我指出另一个问题来回答这个问题,但我一直在寻找这个简单的问题,但没有运气.

我有一个带有datetime属性的Activerecord.它以ActiveSupport的形式返回:TimeWithZone.我知道我不能把它和约会时间相比.因为这不包括一个区域,所以我需要利用时间.区有道理.

我想知道的是,在样式方面,有没有一种"更干净"的方法,可以将结果减go 86400再除以86400?

以下是我的工作:

((Time.zone.now - myActiveRecord.visit_date)/86400).to_i

工作,但似乎没有红色,我觉得我错过了什么.我应该铸造、比较或转换其他路由,还是这真的是rails中的典型方式?感谢您提供的任何提示或问题链接.

非常感谢.

推荐答案

为了让它更具可读性,你可以做的一件事是:

((Time.zone.now - myActiveRecord.visit_date) / 1.day).to_i

编辑:

实际上,你可以go 掉一组括号:

(Time.zone.now - myActiveRecord.visit_date).to_i / 1.day

Ruby-on-rails相关问答推荐

Rails TurboStream:可以向元素动态添加一个css类吗?

DateTime的最小数据提交格式

为什么没有生成命名空间路由?

如何通过graphqlMutations 从rails销毁当前用户会话

Rails 7 共享刺激控制器功能

循环大量记录时 Ruby on Rails 内存泄漏; find_each 没有帮助

Rails:使用 RSpec 测试命名范围

是否可以在 Rails 集成测试或规范中指定用户代理?

Rails data-disable-with re-enable 按钮

未选中时,如何使 check_box_tag 发布false或0参数?

如何让空白复选框作为假传递给参数

格式化日期对象以显示人类可读的日期

Ruby on Rails 基本概念总结

Rails:进行不可逆转的迁移是不是很糟糕?

Ruby - 合并两个数组并删除重复的值

如何跳过失败的迁移? (耙分贝:迁移)

Coffeescript ||= 模拟?

Ruby 安装的 RVM 不工作?

Rails:弃用警告:您没有设置 config.secret_key_base

期望 true 响应 true?