Ruby 将整数转换为小时和分钟

Gar*_*ows 3 ruby ruby-on-rails

我需要在 Ruby 中将整数转换为小时和分钟,但我的大脑冻结了。我有一个称为持续时间的整数字段,它是在从表单上的小时和分钟字段填充表单时设置的。这但效果很好。我正在挣扎的是走另一条路。我需要采用整数形式的@duration,并在编辑记录时填充表单字段。

所以在我正在做的表格上

= select_tag "hours", options_for_select((0..12).step(1)), :prompt => "hours", :include_blank => "#{@hours}",  required: true
Run Code Online (Sandbox Code Playgroud)

此示例中的小时数来自控制器,它不会

@hours = (@log.duration / 60).to_i
Run Code Online (Sandbox Code Playgroud)

我在表格上的分钟字段是这样的...

= select_tag "minutes", options_for_select((0..60).step(1)), :prompt => "Minutes", :include_blank => "#{@minutes}",  required: true
Run Code Online (Sandbox Code Playgroud)

这就是我挣扎的地方。我需要在控制器中生成 @minutes 变量,但无法思考如何获得它。我想我需要做的是知道当@log.duration 除以 60 时剩下的余数,但我怎么得到这个?

谢谢

Gar*_*ows 5

答案是模运算符

@minutes = (@log.duration % 60).to_i
Run Code Online (Sandbox Code Playgroud)

简单,完美地完成工作。很抱歉浪费您的时间。

G