如何在周一而不是周日开始calendar_for周?

时间:2011-04-27 20:00:30

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

我正在关注railscast http://railscasts.com/episodes/213-calendars,我使用以下gem而不是脚本/插件安装 https://github.com/jchunky/table_builder

输出很好..给我看一个漂亮的日历! (谢谢瑞安) 但我想知道如何修改此代码,使周显示在星期一而不是星期日:

<div id="calendar">
  <h2 id="month">
    <%= link_to "<", :month => (@date.beginning_of_month-1).strftime("%Y-%m-%d") %>
    <%=h @date.strftime("%B %Y") %>
    <%= link_to ">", :month => (@date.end_of_month+1).strftime("%Y-%m-%d") %>
  </h2>
  <% calendar_for @hours, :year => @date.year, :month => @date.month do |calendar| %>
    <%= calendar.head('Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday') %>
    <% calendar.day(:day_method => :date) do |date, hours| %>
      <%= date.day %>
      <ul>
        <% for hour in hours %>
          <li><%= link_to h(hour.task), hour %></li>
        <% end %>
      </ul>
    <% end %>
  <% end %>
</div>

2 个答案:

答案 0 :(得分:4)

查看代码,有一个:first_day_of_week选项。只需将其设置为1 =星期一

calendar_for @hours, :year => @date.year, :month => @date.month, :first_day_of_week => 1 do |calendar|

答案 1 :(得分:0)

您还可以全局设置Date.beginning_of_week