メモりまくり

自分の覚え書きとして

[rails] タスク管理アプリ作成

2007年02月11日 22時56分56秒 | Linux
○タスク管理システムの機能
・タスクを作成、表示、変更、削除する
・タスクにタグをつけて分類する
・カレンダー上にタスクを表示する
・指定したタグがつけられたタスクだけを表示する
・簡単なユーザ認証を行う

○エンティティの洗い出し
(エンティティ)(テーブル)(説明)
ユーザ  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



コメントを投稿