簡體   English   中英

f.time_field 24 小時制 - Rails Fields

[英]f.time_field with 24 hour clock - Rails Fields

我有一個小 Rails 應用程序,我需要使用 24 小時制來輸入時間。 現在,我有:

  <div class=".col-md-7">
    <%= f.label :backinservice %><br>
    <%= f.time_field :backinservice %>
  </div>

這提供了 AM/PM 選項。 當我輸入像 18:56 這樣的時間時,它會自動將其轉換為下午 06:56。 通常這完全沒問題,只是不在這個應用程序中。

我也試過:

  <div class=".col-md-7">
    <%= f.label :recieved %><br>
    <%= f.time_field :recieved, :format=>"%H:%M" %>
  </div>

但這也行不通。

是否有允許直接使用 24 小時制的:format選項?

您必須使用value鍵傳遞格式。

<div class=".col-md-7">
  <%= f.label :recieved %><br>
  <%=
    f.time_field :recieved,
      value: "%H:%M",
      min: 'hh:mm:ss',
      max: 'hh:mm:ss'
  %>
</div>

醫生說:

默認值是通過嘗試使用對象值的“%T.%L”調用 strftime 生成的。 仍然可以通過傳遞“value”選項來覆蓋它

我必須執行以下操作才能使其對我有用:

<%=
    f.time_field :my_time_field,
      value: @model_instance.my_time_field.strftime("%H:%M")
  %>

通過查看 time_field 的定義發現了這一點,即只創建了一個新的Tags::TimeField.new實例

反過來, Tags::TimeField.new只做一件事,即定義格式

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM