限制datetime_select上的分钟列表

时间:2013-02-06 10:47:25

标签: ruby-on-rails ruby

我在网络应用程序上使用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>

请帮忙

1 个答案:

答案 0 :(得分: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)