event_calendarに挑戦する2

寄り道なしで書く

参考:event_calendar プラグインを使って Rails でイケてるカレンダーを実装してみた

Event calendar「Generates HTML event calendars」を利用する

app_root/Gemfileに追記する

gem 'event-calendar', :require => 'event_calendar'

ぶんどる

kenmituo@hoge ~/My Documents/Aptana Studio 3 Workspace/app_root
$ bundle
(中略)
Installing event_calendar (2.3.3)

ジェネレーターで必要なものを作ってもらう

kenmituo@hoge ~/My Documents/Aptana Studio 3 Workspace/app_root
$ bundle exec rails g event_calendar --use-jquery
Using JQuery for scripting
      create  public/javascripts/event_calendar.js
      create  public/stylesheets/event_calendar.css
      create  app/models/event.rb
      create  app/controllers/calendar_controller.rb
      create  app/views/calendar
      create  app/views/calendar/index.html.erb
      create  app/helpers/calendar_helper.rb
      create  db/migrate/20120905061400_create_events.rb
       route  match '/calendar(/:year(/:month))' => 'calendar#index', :as => :calen
dar, :constraints => {:year => /\d{4}/, :month => /\d{1,2}/}

とりあえず稼働が目標なのでテーブルを作る

kenmituo@hoge ~/My Documents/Aptana Studio 3 Workspace/app_root 
$ bundle exec rake db:migrate
==  CreateEvents: migrating ===================================================
-- create_table(:events)
   -> 0.3740s
==  CreateEvents: migrated (0.3750s) ==========================================

動作してみる

bundle exec rails s

実行してみる
http://localhost:3000/calendar

Calendar
 {:year=>2012, :month=>9, :event_strips=>[[nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil]], :month_name_text=>"9月 2012", :previous_month_text=>"<< 8月", :next_month_text=>"10月 >>"} 

とりあえずコッチ

Served asset /event_calendar.css - 404 Not Found (3ms)

ActionController::RoutingError (No route matches [GET] "/assets/event_calendar.css"
):

public/stylesheets/event_calendar.css を app/assets/stylesheets/に移動

nilいっぱい」はmodelに余計なことが書いてあったことが原因だった。改造する前にうごかせば平気なはず。
 

魔改造ポイント

C:\Ruby193\lib\ruby\gems\1.9.1\gems\event-calendar-2.3.3\lib\event_calendar\calendar_helper.rb

この中身を弄るとイロイロできる。
 
しかし1日に沢山の件数を出したいときには向かない。標準ではあくまでも「一人の人間のイベントを表示させるようなもの」にしかならない。
 
 

やっぱり使わない

app_root/Gemfileから削除する

gem 'event-calendar', :require => 'event_calendar'

 
bundleを実行するだけ。確認はbundle list