« RESTの意味が解りかけてきた。 | トップページ | rubyで複数ファイルの文字列置換 »

2008年2月 7日 (木)

Railsで簡易カレンダ

今、体重管理のためのWebアプリをRailsの勉強をかねて、作ろうとしている。
カレンダにその日の体重を表示できるようにしたいのだが、 Rails カレンダでgoogle先生に質問したが、よく解らない回答 だったので、自分で作ってみた。

無保証です。使用により不都合が起きても責任を取りません。

コントローラ側

def list_cal
    if params[:date]
      begin
        indicate = params[:date].split("-")
        session[:date] = Date.new(indicate[0].to_i,indicate[1].to_i,indicate[2].to_i)
      rescue
        flash[:notice] = "Invalid #{params[:date]}"
      end
    end
    unless session[:date]
      session[:date] = Date.today
    end
    @date = session[:date]
  end
end

list_cal.html.erb

<%= link_to('先月',:action=>'list_cal',:date=> @date.last_month) -%>
<span><%= @date.year %><%= @date.month%></span>
<%= link_to('来月',:action=>'list_cal',:date=>@date.next_month) -%>
<table>
  <thead>
    <tr>
      <th></th>
      <th></th>
      <th></th>
      <th></th>
      <th></th>
      <th></th>
      <th></th>
    </tr>
  </thead>
  <tbody>
    <tr>
    <% cnt = 0 -%>
    <% @date.beginning_of_month.beginning_of_week.yesterday.upto
(@date.end_of_month.next_week(:monday).yesterday.yesterday) do |d| -%>
      <% if cnt != 0 && cnt % 7 == 0 -%>
      </tr>
      <tr>
      <% end -%>
      <td> <%=d.day-%> </td>
      <% cnt+=1 -%>
      <% end -%>
    </tr>
  </tbody>
</table>

現時点ではCSSまったくつけていないが、これから土、日の色を変えたり等を

行う予定。

さらに祝日もhttp://www.h3.dion.ne.jp/~sakatsu/holiday_logic4.htm#Ruby を利用させていただいて、表示できるようにする。

日付はリンクにして、その日の体重等を書き込む入力画面に遷移する予定。

今週の土曜日が解らなかったので、来週の月曜日の昨日、昨日にしているのが、 かなりダサい。

イメージ  2008年4月

30 31 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 1 2 3

|

« RESTの意味が解りかけてきた。 | トップページ | rubyで複数ファイルの文字列置換 »

rails」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/68673/40038529

この記事へのトラックバック一覧です: Railsで簡易カレンダ:

« RESTの意味が解りかけてきた。 | トップページ | rubyで複数ファイルの文字列置換 »