【问题标题】:How to start calendar_for week on Monday instead of Sunday?如何在星期一而不是星期日开始 calendar_for week?
【发布时间】:2011-04-27 20:00:29
【问题描述】:

我正在关注 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>

【问题讨论】:

  • 您是否尝试将'Monday' 作为&lt;%= calendar.head('Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday') %&gt; 行中的第一个字符串?
  • 是的,不幸的是这只改变了标题

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


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    您也可以全局设置Date.beginning_of_week

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-19
      • 2018-01-22
      • 1970-01-01
      相关资源
      最近更新 更多