Рендеринг datetime_select в Rails - PullRequest
       0

Рендеринг datetime_select в Rails

2 голосов
/ 11 декабря 2011

Текущий код формы:

<%= 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 %>

Отображает каждый выбранный элемент в новой строке.

Не удалось опубликовать изображение из-за моего статуса StackOverflow noob, но я постараюсь отобразить его в интерпретирующем тексте:

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>
 &mdash; <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>

1 Ответ

0 голосов
/ 20 декабря 2011

Я бы не использовал стандартный помощник datetime_select, я бы построил вспомогательный метод с выбранными вами операторами select и стилизовал их так, как вы хотели.

Вот ссылка на документы для метода выбора представления: http://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html

Просто создайте операторы выбора, чтобы получить нужные значения идентификатора и имени (например, booking_date_time_2i для месяца, 4i длячас и т. д.), и положите их в помощник, чтобы вы могли легко их вызвать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...