TodoList: todo/show 拡張の下準備2006年12月19日 11時44分09秒

todo/show ページの改造から始める。まず、generate scaffold にて編集用のファイルを作る。

% ruby script/generate scaffold todo todo
      exists  app/controllers/
      exists  app/helpers/
      exists  app/views/todo
      exists  test/functional/
  dependency  model
      exists    app/models/
      exists    test/unit/
      exists    test/fixtures/
   identical    app/models/todo.rb
   identical    test/unit/todo_test.rb
   identical    test/fixtures/todos.yml
      create  app/views/todo/_form.rhtml
      create  app/views/todo/list.rhtml
      create  app/views/todo/show.rhtml
      create  app/views/todo/new.rhtml
      create  app/views/todo/edit.rhtml
overwrite app/controllers/todo_controller.rb? [Ynaq] n
        skip  app/controllers/todo_controller.rb
overwrite test/functional/todo_controller_test.rb? [Ynaq] n
        skip  test/functional/todo_controller_test.rb
   identical  app/helpers/todo_helper.rb
   identical  app/views/layouts/todo.rhtml
   identical  public/stylesheets/scaffold.css

実験のために、organizations テーブルを再構築する。一度、テーブルを削除してから作り直すことにした。


% cat organizations.mysql
USE todos;
DROP TABLE IF EXISTS organizations;
CREATE TABLE `organizations`
(
  `id` INT NOT NULL AUTO_INCREMENT,
  `name` VARCHAR(100) NOT NULL,
  `description` VARCHAR(100),
  PRIMARY KEY(`id`)
);
INSERT INTO organizations VALUES(NULL, 'Drexel', 'Drexel University');
INSERT INTO organizations VALUES(NULL, 'CS', 'Computer Science Department');
INSERT INTO organizations VALUES(NULL, 'Math', 'Mathmatics Department');
INSERT INTO organizations VALUES(NULL, 'Engineer', 'Engineer Department');
% cat organizations.mysql | mysql

今度は、todo_organization_permissions を作り、いくつかの項目を入れてしまう。


% cat todo_organization_permissions.mysql
USE todos;
DROP TABLE IF EXISTS todo_organization_permissions;
CREATE TABLE `todo_organization_permissions`
(
  `id` INT NOT NULL AUTO_INCREMENT,
  `todo_id` INT NOT NULL,
  `organization_id` INT NOT NULL,
  `published` INT,
  PRIMARY KEY(`id`)
);
INSERT INTO todo_organization_permissions VALUES(NULL, 1, 1, 1);
INSERT INTO todo_organization_permissions VALUES(NULL, 1, 2, 1);
INSERT INTO todo_organization_permissions VALUES(NULL, 1, 4, 0);
INSERT INTO todo_organization_permissions VALUES(NULL, 2, 1, 1);
% cat todo_organization_permissions.mysql | mysql

published には何らかの初期値を付けた方が好ましいかもしれない。今の時点ではあまり気にしない事にする。

そして、todos テーブルには以下の物が追加されている。


mysql> select * from todos;
+----+------------------+------+
| id | description      | done |
+----+------------------+------+
|  1 | create todo list |    0 | 
|  2 | enter todos      |    0 | 
+----+------------------+------+
2 rows in set (0.00 sec)

これで、準備は整った。todo_organization_permissions に登録した値に注意を払って欲しい。

前回次回

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://uyota.asablo.jp/blog/2006/12/19/1037402/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。