当我试图循环一周中的几天时,输出似乎只是范围的开始日期和结束日期,而不是我尝试打印的日期的名称。
我这样做是因为我想每天打印更多内容。这就是我模型中的内容:
(Date.today.beginning_of_week..Date.today.end_of_week).each do |day|
day.strftime("%A")
end
我不知道为什么我在视图中得到的是:
2015-10-05..2015-10-11
如果有人可以对此有所了解,我真的很感激。
答案 0 :(得分:2)
您希望它返回一个数组,但它只是返回原始的Range对象:
(Date.today.beginning_of_week..Date.today.end_of_week)
因为它是使用:each
调用的。您可以改为使用:map
:
(Date.today.beginning_of_week..Date.today.end_of_week).map {|date| date}
但如果您在枚举日期时不需要转换日期,则只需使用:to_a
:
(Date.today.beginning_of_week..Date.today.end_of_week).to_a
答案 1 :(得分:0)
我不知道你是如何打印结果的,但是如果你引用了整个代码puts
,那么它将打印each
的接收者(日期范围;你现在有什么)如果要打印块中的内容,请将puts
放在块内。
(Date.today.beginning_of_week..Date.today.end_of_week).each do |day|
puts day.strftime("%A")
end