当前表单代码:
<%= form_for @booking do |f| %>
<%= render 'shared/error_messages', :object => f.object %>
<time class="field">
<%= f.label :date %>
<%= f.datetime_select :date_time, :prompt => { :hour => "Hour", :minute => "Minute" } %>
</time>
<% end %>
这会在新行中呈现每个选择项目。
由于我的noob StackOverflow状态,我无法发布图像,但我会尝试在解释性文本中显示它:
select year
select month
select day
...and so on with time.
是否有一种简单的方法可以在同一行中呈现这些字段,即一行中的日期选择器,下一行中的时间选择器?
select year | select month | select day
渲染html:
<time class="field">
<option value="2006">2006</option>
...edited for legibility...
<option value="2016">2016</option>
</select>
<select id="booking_date_time_2i" name="booking[date_time(2i)]">
<option value="1">January</option>
...edited for legibility...
<option value="12">December</option>
</select>
<select id="booking_date_time_3i" name="booking[date_time(3i)]">
<option value="1">1</option>
...edited for legibility...
<option value="31">31</option>
</select>
— <select id="booking_date_time_4i" name="booking[date_time(4i)]">
<option value="">Hour</option>
<option value="00">00</option>
...edited for legibility...
<option value="23">23</option>
</select>
: <select id="booking_date_time_5i" name="booking[date_time(5i)]">
<option value="">Minute</option>
<option value="00">00</option>
...edited for legibility...
<option value="59">59</option>
</select>
</time>
答案 0 :(得分:0)
我不会使用标准的datetime_select帮助器,我会使用你想要的select语句构建一个helper方法,并按照你想要的方式设置样式。
以下是select视图方法的文档链接:http://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html
只需创建select语句即可获得所需的id和name值(例如,月份为booking_date_time_2i,小时为4i等),并将它们全部放在帮助器中,以便您轻松调用它们。