在Rails 3中吐出最近10天的列表

时间:2011-02-09 03:12:57

标签: ruby-on-rails ruby ruby-on-rails-3

我觉得我应该通过说我是Rails 3的新手来证明我的所有问题,所以原谅我的新意。我一直在阅读ActionView Date Helpers,但无法弄清楚如何完成这个简单的功能。在Rails 3中,我想在过去10天内吐出一个html列表。所以,例如,它今天看起来像这样:

<li>Tuesday, February 8</li>
<li>Monday, February 7</li>
<li>Sunday, February 6</li>
<li>Saturday, February 5</li>
<li>Friday, February 4</li>
<li>Thursday, February 3</li>
<li>Wednesday, February 2</li>
<li>Tuesday, February 1</li> 
<li>Monday, January 31</li>
<li>Sunday, January 30</li>

看起来很简单,但我无法弄清楚。有人想小心一点吗?

4 个答案:

答案 0 :(得分:8)

<%- Date.today.downto(Date.today - 9.days) do |date| %>
  <li><%= date %></li>
<%- end %>

答案 1 :(得分:3)

您可能需要尝试查看strftime,以便格式化有关日期的信息。具有一些ruby strftime格式的网站可以在http://www.foragoodstrftime.com/

进行

答案 2 :(得分:1)

这应该这样做:

<% 10.downto(1).each do |day| %>
 <li><%= day.days.ago.strftime("%A, %B %d") %></li>   
<% end %>

答案 3 :(得分:0)

怎么样:

<%= (0..10).map { |i| "<li>#{i.days.ago.strftime('%A, %B %d')}</li>" }.join %>