Ruby on rails 显示两个给定时间之间的15分钟步长

Ruby on rails 显示两个给定时间之间的15分钟步长,ruby-on-rails,ruby,datetime,loops,Ruby On Rails,Ruby,Datetime,Loops,我有一张预约表,可以节省2倍的时间。开始和结束。我想以15分钟的步长显示所有约会。e、 g.给定上午10点/11点,现在在我的视图中显示我10.15、10.30、10.45!谢谢你的建议 -@appointment.each do |form| =form.date =form.start_time =form.end_time 您只需将option:minute_step=>15传递到输入字段我有一行,但这是您真正想要的吗?希望这两个日期之间的差值不会太大,下面的代码

我有一张预约表,可以节省2倍的时间。开始和结束。我想以15分钟的步长显示所有约会。e、 g.给定上午10点/11点,现在在我的视图中显示我10.15、10.30、10.45!谢谢你的建议

-@appointment.each do |form|  
  =form.date  
  =form.start_time  
  =form.end_time

您只需将option:minute_step=>15传递到输入字段

我有一行,但这是您真正想要的吗?希望这两个日期之间的差值不会太大,下面的代码不是很有效

(Time.now.to_i..1.hour.from_now.to_i).to_a.in_groups_of(15.minutes).collect(&:first).collect { |t| Time.at(t) }  

更好的解决方案:

# Your variables
time_start = Time.now
time_end = time_start + 1.hour
[time_start].tap { |array| array << array.last + 15.minutes while array.last < time_end }
因此,最终的代码如下所示:

time_start.to(time_end)
所有三种解决方案都将以包含
Time
步骤对象的数组结束

 => [2011-07-22 17:11:11 +0200, 2011-07-22 17:26:11 +0200, 2011-07-22 17:41:11 +0200, 2011-07-22 17:56:11 +0200, 2011-07-22 18:11:11 +0200] 

是,我的输入字段中有此参数。但这是另一个列出可用约会的视图。我不明白你的问题。您是否在询问检索上午10:00到11:00之间的约会的查询应该是什么?不,仅显示两个给定时间之间的时间步长,如我问题中的示例所示。如果您使用分钟步长保存约会,则开始时间应该是10:00、10:15、10:30、10:45。您可能只需要将link_呈现给appointmnet.start_time,appointment_pathno它们不随步骤一起保存。只是开始时间和结束时间。我想在我的视图中的步骤之间创建15分钟的步骤:)组中的道具(15分钟)。。。太好了!我认为这个解决方案更有效-
 => [2011-07-22 17:11:11 +0200, 2011-07-22 17:26:11 +0200, 2011-07-22 17:41:11 +0200, 2011-07-22 17:56:11 +0200, 2011-07-22 18:11:11 +0200]