3

我在 Web 应用程序上使用 Rails。
我想知道是否可以告诉datetime_select在分钟下拉列表中只有两个选项?选项 00 和 30。

我有以下代码:

<p><label for="command_date_to_execute">Date to Run</label><br/>
<%= datetime_select 'command', 'date_to_run', :discard_minute => true  %>:
<%= select 'command', 'date_to_run', ['00', '30'] %>
</p>

浏览器源代码产生:

<select id="command_date_to_run" name="command[date_to_run]">
<option value="00">00</option>
<option value="30">30</option>
</select>

但我真正需要的是下面(在生成的 HTML 中使用 5i):


    

<select id="command_date_to_execute_5i" name="command[date_to_execute(5i)]">
<option value="00">00</option>
<option value="30">30</option>
</select>

请帮忙

4

1 回答 1

5

如果您只想为分钟显示值 00 和 30,您可以执行以下操作:

= f.datetime_select(:leave_end, :start_year => 2011, :ampm => true, :default => 0.days.from_now.in_time_zone(@timezone), :discard_minute => true) %span : 
= f.select('req_sess_start(5i)', ['00', '30'])

由于(可能)未知变量 req_sess_start(5i),这可能会导致页面验证异常。如果满足验证将起作用。

尽管不会引发异常,但以下内容会更好。

= f.datetime_select(:req_sess_start, :start_year => 2011, :ampm => true, :default => 0.days.from_now.in_time_zone(@timezone), :minute_step => 30)
于 2013-02-06T10:48:55.140 回答