Я думаю, что вы могли бы попробовать это: http://labs.perifer.se/timedatepicker/.
Это действительно просто и предоставит вам выпадающий список, чтобы получить желаемое время.
Например, чтобы сгенерировать список раз с шагом в полчаса, вы должны сделать что-то вроде:
$(".time").timePicker({
show24Hours: false,
step: 30
});
Где .time - класс вашего текстового поля:
<%= your_time_form.text_field :time, :class => "time", :value => time %>
Конечно, тогда в помощнике / контроллере вам нужно будет манипулировать этим значением, чтобы построить нужный объект (возможно, экземпляр DateTime).