我在Rails 4中创建了一个简单的约会守护者,我需要创建一个时间阵列供用户在最小/最大值之间进行选择。用户还可以选择是否创建30或60分钟的约会。
我试图像这样创建数组
def time_range
return [] if time_start.blank? || time_end.blank?
(time_start.to_time .. time_end.to_time).to_a
end
但我一直收到错误
can't iterate from Time
我不知道如何将其分解为增量。
我只是将它们显示为列表
ul.list-unstyled
- @meeting.time_range.each do |calendar_time|
li
= calendar_time
答案 0 :(得分:4)
利用step
(Time.now.to_i..1.day.from_now.to_i).step(30.minutes).each do |time|
puts Time.at(time)
end
所以方法将是
def time_range
return [] if time_start.blank? || time_end.blank?
(time_start.to_time.to_i..time_end.to_time.to_i)
end
您可以将其用作
ul.list-unstyled
- @meeting.time_range.step(30.minutes).each do |calendar_time|
li
= Time.at(calendar_time)