○タスク管理システムの機能
・タスクを作成、表示、変更、削除する
・タスクにタグをつけて分類する
・カレンダー上にタスクを表示する
・指定したタグがつけられたタスクだけを表示する
・簡単なユーザ認証を行う
○エンティティの洗い出し
(エンティティ)(テーブル)(説明)
ユーザ users 利用者
タスク tasks 管理されるタスク
タグ tags タグ情報
タグ付け taggings タグ付けの情報
○ERDを書く
(ユーザ) (タスク) (タグ付け)
名前 タスク名 タグID(FK)
パスワード ユーザID(FK) 対象ID(FK)
作成時刻 対象種別
更新時刻
開始日 (タグ)
完了日 タグ名
詳細
○システム全体
View ユーザ認証画面 カレンダー画面(タグ一覧) タスク詳細画面(タグ一覧)
↓ ↓ ↓
Controller AccountController TaskController TaskHelper
Model Ueser Task Tagging Tag
アダプタ SQLite3-ruby
RDBMS SQLite3
○プラグインのインストール
カレンダー表示
$ ruby script/plugin install http://topfunky.net/svn/plugins/calendar_helper
タグ付け(標準)
$ ruby script/plugin install acts_as_taggable
ドロップダウン、カレンダーによる日付入力(engineフレームワーク)
$ ruby script/plugin install datebox_engine
engines(プラグインフレームワーク)
$ ruby script/plugin source http://svn.rails-engines.org/plugins/
$ ruby script/plugin install engines
○雛型作成
モデルの雛型
$ ruby script/generate model user
$ ruby script/generate model task
(TagとTaggingは acts_as_taggable プラグインが面倒みてくれる)
マイグレーションファイル
$ ruby script/generate migration add_tag_support
コントローラーとビューの雛型
$ ruby script/generate controller task
$ ruby script/generate login account
○URLと画面を結びつける
URLと画面を結びつける設定を RAILS_ROOT/config/routes.rb ファイルに記述する。
---
ActionController::Routing::Routes.draw do |map|
# Routes for tasks.
map.with_options(:controller => 'task') do |task|
task.connect '', :action => 'calendar'
task.connect 'calendar/:year/:month', :action => 'calendar'
task.connect 'task/:id', :action => 'show'
end
:
end
---
○ライブラリとプラグインの設定
login_generator と datebox_engine を利用する設定
RAILS_ROOT/app/controllers/application.rb
---
---
93 vi config/routes.rb
94 vi app/controllers/application.rb
95 vi config/environment.rb
96 vi app/helpers/application_helper.rb
・タスクを作成、表示、変更、削除する
・タスクにタグをつけて分類する
・カレンダー上にタスクを表示する
・指定したタグがつけられたタスクだけを表示する
・簡単なユーザ認証を行う
○エンティティの洗い出し
(エンティティ)(テーブル)(説明)
ユーザ users 利用者
タスク tasks 管理されるタスク
タグ tags タグ情報
タグ付け taggings タグ付けの情報
○ERDを書く
(ユーザ) (タスク) (タグ付け)
名前 タスク名 タグID(FK)
パスワード ユーザID(FK) 対象ID(FK)
作成時刻 対象種別
更新時刻
開始日 (タグ)
完了日 タグ名
詳細
○システム全体
View ユーザ認証画面 カレンダー画面(タグ一覧) タスク詳細画面(タグ一覧)
↓ ↓ ↓
Controller AccountController TaskController TaskHelper
Model Ueser Task Tagging Tag
アダプタ SQLite3-ruby
RDBMS SQLite3
○プラグインのインストール
カレンダー表示
$ ruby script/plugin install http://topfunky.net/svn/plugins/calendar_helper
タグ付け(標準)
$ ruby script/plugin install acts_as_taggable
ドロップダウン、カレンダーによる日付入力(engineフレームワーク)
$ ruby script/plugin install datebox_engine
engines(プラグインフレームワーク)
$ ruby script/plugin source http://svn.rails-engines.org/plugins/
$ ruby script/plugin install engines
○雛型作成
モデルの雛型
$ ruby script/generate model user
$ ruby script/generate model task
(TagとTaggingは acts_as_taggable プラグインが面倒みてくれる)
マイグレーションファイル
$ ruby script/generate migration add_tag_support
コントローラーとビューの雛型
$ ruby script/generate controller task
$ ruby script/generate login account
○URLと画面を結びつける
URLと画面を結びつける設定を RAILS_ROOT/config/routes.rb ファイルに記述する。
---
ActionController::Routing::Routes.draw do |map|
# Routes for tasks.
map.with_options(:controller => 'task') do |task|
task.connect '', :action => 'calendar'
task.connect 'calendar/:year/:month', :action => 'calendar'
task.connect 'task/:id', :action => 'show'
end
:
end
---
○ライブラリとプラグインの設定
login_generator と datebox_engine を利用する設定
RAILS_ROOT/app/controllers/application.rb
---
---
93 vi config/routes.rb
94 vi app/controllers/application.rb
95 vi config/environment.rb
96 vi app/helpers/application_helper.rb