Rails - 将整数形式字段拆分为3个单独的部分

时间:2016-05-20 10:16:42

标签: ruby-on-rails forms ruby-on-rails-4

我有一个存储整数(分钟)的时间字段。我希望用户能够在表格中输入日,小时和分钟,而不是输入分钟。

.form-group
    = f.label :time, class: "col-sm-2 control-label"
    .col-sm-10
      = f.text_field :time, class: "form-control"

有没有一种简单的方法可以通过表单执行此操作,以便我有...?

.form-group
    = f.label :days, class: "col-sm-2 control-label"
    .col-sm-10
      = f.text_field :days, class: "form-control"
.form-group
    = f.label :hours, class: "col-sm-2 control-label"
    .col-sm-10
      = f.text_field :hours, class: "form-control"
.form-group
    = f.label :minutes, class: "col-sm-2 control-label"
    .col-sm-10
      = f.text_field :minutes, class: "form-control"

我意识到我可以将数天,小时和分钟作为数据库字段,但我只是保留我的单一时间字段。

2 个答案:

答案 0 :(得分:1)

遇到类似情况,这对我有所帮助。 gem time_splitter

看起来这也将为您完成工作,只需在您的模型的任何日期时间字段之上运行。

答案 1 :(得分:0)

您可以隐藏时间字段,并显示您的日期,小时和分钟字段,并使用javascript根据显示的字段上提供的值计算时间,以分钟为单位提交。

所以它会像(这是伪代码):

time.value = (days.value * 1440) + (hours.value * 60) + minutes.value.