DBに接続してscaffoldみる。

さてやっとDBに接続できる。

sudo mysql

としてMysqlターミナルを立ち上げてDBを作成する。

mysql>set name utf8;          //Railsはutf8じゃないと動かないらしい
mysql>create database garadb; // garadbという名前のデータベースを作る
mysql>use garadb;             // garadbに接続しますよ〜と宣言
mysql>create table person(    // テーブルを作る
id int(11) not null auto_increment primary key,
name varchar(64),
mail varchar(128),
tel varchar(13),
age int(2)                    // 年齢2桁はいけてなかったw
);
grant all privileges on garadb.* to user@localhost identified by password
 #garadbの全ての物に対する権限を[user]に付与。パスワードは[password]
 #パスワードとユーザー名のところは任意で変えてね

作業をしてて思ったんだけどやっぱCore2Duo2.1Gあると早いわ。全部の作業が一瞬で終わる。
Railsに今作ったDBの設定を教えてあげる。RailsのDB設定ファイルであるRails/Test/config/database.ymlをviで編集する。

development:
 adapter: mysql                これはそのまま
 database: garadb              さっき作ったDB
 usename: user                 さっき指定したUserとパスワード
 password: password
 socket: /tmp/mysql.sock

さてこれで設定は終わりのはず。自動生成すればソースができるはずなんだが・・・Rails/Testディレクトリに移動して

$script/generate model Person
      exists  app/models/
      exists  test/unit/
      exists  test/fixtures/
      create  app/models/person.rb
      create  test/unit/person_test.rb
      create  test/fixtures/people.yml
      create  db/migrate
      create  db/migrate/001_create_people.rb

おお!なんか出来た!つずいてこれを管理するアドレスコントローラーを作る

$script/generate controller address
      exists  app/controllers/
      exists  app/helpers/
      create  app/views/address
      exists  test/functional/
      create  app/controllers/address_controller.rb
      create  test/functional/address_controller_test.rb
      create  app/helpers/address_helper.rb

色々出来て楽しいね。んで生成されたapp/controllers/address_controller.rbにテーブルとの関連を記載する。

class AddressController < ApplicationController
scaffold :person ← 追加
end

これで終わりらしい。さてアパッチを立ち上げて確認してみよう!!!めっちゃドキドキ。

sudo apachectl graceful

起動したので「http://127.0.0.1/test」をみると
・・・ん?昨日とかわてなくね??
あ、、、!!アクセス先は「http://127.0.0.1/adress」か、再度アクセスしてみると。うーん見えない。「http://127.0.0.1/test/adress」もだめ。なんでじゃ?わっからーーん!!WEBricでみてみるか。

ruby script/server

おお!「http://127.0.0.1:3000/adress」でみれたー早速動かしてみる。うっほ〜〜〜登録、更新、削除、詳細と何と簡単にできることかこりゃ凄すぎるわ。