gpt4 book ai didi

ruby-on-rails - 在 Rails 模型中使用持续时间字段

转载 作者:数据小太阳 更新时间:2023-10-29 06:27:09 27 4
gpt4 key购买 nike

我正在寻找在 Rails 模型中使用持续时间字段的最佳方法。我希望格式为 HH:MM:SS(例如:01:30:23)。使用的数据库是本地的 sqlite 和生产中的 Postgres。

我也想使用这个字段,这样我就可以查看该字段中的所有对象,并计算出该模型中所有对象的总时间,最后得到如下内容:

30 records totaling 45 hours, 25 minutes, and 34 seconds.

那么什么最适合?

  • 迁移的字段类型
  • CRUD 表单的表单字段(小时、分钟、秒下拉列表?)
  • 生成模型中所有记录的总持续时间的成本最低的方法

最佳答案

  • 在您的数据库中存储为整数(可能是秒数)。
  • 您的报名表将取决于具体的用例。下拉菜单很痛苦;最好在小时 + 分钟 + 秒的持续时间内使用小文本字段。
  • 只需对持续时间列运行 SUM 查询即可生成总计。如果您使用整数,这将简单快捷。

另外:

  • 使用助手在您的 View 中显示持续时间。您可以使用 123.seconds(将 123 替换为数据库中的整数)轻松地将秒数整数形式的持续时间转换为 ActiveSupport::Duration ).在生成的 Duration 上使用 inspect 以获得漂亮的格式。 (它并不完美。您可能想自己写点东西。)
  • 在您的模型中,您可能需要属性读取器和写入器返回/获取 ActiveSupport::Duration 对象,而不是整数。只需定义 duration=(new_duration)duration,它们在内部调用带有整数参数的 read_attribute/write_attribute。<

关于ruby-on-rails - 在 Rails 模型中使用持续时间字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1051465/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com