Ruby on Rails:如何在time_field上分配 "step" 属性以 30 分钟的间隔单步执行?



我使用form_with使用RubyonRails生成一个html表单。在这个form_with中,我使用fields_for生成另一部分表单,这些表单是第一个表单的属性

不过,为了简单起见,我只是想知道如何将时间选择限制为30分钟。

例如,我正在做:

<%= form.fields_for employee_jobs do |assign_job| %> 
<%= assign_job.time_field :time_start %> 
<%= end %> 

完成后,如何在html时间输入节点中获得"step"属性?现在,我正在尝试做:

<%= form.fields_for employee_jobs do |assign_job| %> 
<%= assign_job.time_field(:time_start, :step=>600) %> 
<%= end %> 

但这并没有给我想要的结果。

我发现了我需要做的事情。您可以使用time_select输入,而不是使用time_field输入,并通过minute_step关键字指定步骤。

代替:

<%= form.fields_for employee_jobs do |assign_job| %> 
<%= assign_job.time_field :time_start %> 
<%= end %> 

你可以做:

<%= form.fields_for employee_jobs do |assign_job| %> 
<%= assign_job.time_select :time_start {:minute_step => 30} %> 
<%= end %> 

这解决了我的问题。

最新更新