event_calendarに挑戦する2
寄り道なしで書く
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