在时间范围RAILS的选择菜单中创建半小时的时间数组

时间:2015-02-16 16:08:51

标签: ruby-on-rails arrays ruby-on-rails-4 time

我有一个约会应用程序,用户可以在其中设置第一个约会时间(@ project.time_start)和最后约会时间(@ project.time_end)。我想在这些范围之间创建一个时间阵列(即11:00,11:30,12:00,12:30等),以便我可以使用两个选择菜单来选择时间开始(11:00)和时间结束(11:30)。我知道我可以使用timepicker ....但是选择菜单会有更好的用户体验。

我能够使用以下方法找到日期范围之间的日期数组:

 @date_range_start =(@project.date_start.to_date .. @project.date_end.to_date)

但我很难理解如何将其翻译成时间。以下代码

 @time_range_start =(@project.time_start.to_time .. @project.time_end.to_time)

抛出此错误:

can't iterate from Time

1 个答案:

答案 0 :(得分:0)

如果您不想使用时间戳,可以直接在视图中使用ActionView select_time助手( HAML )。请注意minute_step选项的用法:

= select_time @project.time_start, field_name: 'time_start',  minute_step: 30

如果您有一个时间范围来约束选择器,您可以传递限制(包含控制器的开始和结束时间的数组,例如:@time_start = [8, 20])并使用{{1} }和start_hour选项:

end_hour