적당히 정해진 달력 만드는 법

2953 단어 RubyRails
뭔가 결정된 달력을 만들고 싶을 때 만들었던 방법.더 좋은 방법이 있을 것 같아.
먼저 i18n의locale에 요일의 목록을 열거하십시오svenfuchs/rails-i18n 쓰면 처음부터 말해서 편해요.
ja:
  date:
    abbr_day_names:
      - 
      - 
      - 
      - 
      - 
      - 
      - 
이어서 그 달의 데이터를 만들어보자.
# `beginning_of_week`はそのままだと月曜始まりになる。
# 今回は日曜始まり土曜終わりにしたいから`beginning_of_week(:sunday)`として
# 日曜日を週始まりにする。
from_date = Date.new(2013, 10, 1).beginning_of_week(:sunday)
to_date = Date.new(2013, 10, 31).end_of_week(:sunday)
@calendar_data = from_date.upto(to_date)
나머지는 뷰 쪽에 테이블을 잘 차려놔.
<table>
  <tr>
    <!-- こう書くと、ja.ymlの`abbr_day_names`をいいかんじに処理してくれる -->
    <% t('date.abbr_day_names').each do |day_name| %>
      <td><%= day_name %></td>
    <% end %>
  </tr>
  <% @calendar_data.each do |date| %>
    <!-- wdayは曜日を日曜始まりで0〜6でだしてくれる -->
    <% if date.wday == 0 %><tr><% end %>
    <td>
      <%= date.month %>/<%= date.day %>
    </td>
    <% if date.wday == 6 %></tr><% end %>
  <% end %>
</table>
결과는 다음과 같다.

좋은 웹페이지 즐겨찾기