2016-05-20 54 views
0

我有一個存儲整數(分鐘)的時間字段。我希望用戶能夠在表單中輸入天數,小時數和分鐘數,而不是輸入分鐘數。Rails - 將整數表單字段拆分爲3個單獨的部分

.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" 

我意識到我可能只有幾天,幾小時和幾分鐘作爲數據庫字段,但我寧願只保留一次性字段。

+0

嘗試執行'days','hours'和'minutes'方法的模型(或演示/裝飾)在形式上使用它們。可能你還需要實現賦值方法。 –

回答

1

遇到類似的情況,這是對我的幫助。 gem time_splitter

看起來像這樣也可以爲您完成工作,只需運行在您爲模型設置的任何日期時間字段之上。

+0

看起來不錯,但我不需要一個實際的日期只需x天,我將不得不只是添加單個字段到模型 –

+0

爲天字段請參閱[time_splitter - 允許年,月和日選擇器](https:/ /github.com/shekibobo/time_splitter/issues/11)和[commit9bbf6a082b ..](https://github.com/shekibobo/time_splitter/pull/12/commits/9bbf6a082b0320d5fbc724342220e0f5438e698f) – Meer

0

您可以隱藏時間字段,讓您的日子,小時和分鐘字段顯示並使用JavaScript來計算基於顯示的字段上提供的值的時間(以分鐘爲單位),並提交該值。

所以它會是這樣的(這是僞代碼):

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

相關問題