我有一个约会应用程序,用户可以在其中设置第一个约会时间(@ 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
答案 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