Ruby連載の最終回にあたる今回は,Ruby on Rails(以下Rails)でMySQLを使用するWebスケジューラを完成させます。
本連載では,@YMCのVPSサービスを用いて説明を進めていきます。利用するVPSサービスにより細かな違いはありますが,大きな流れは同じですから,ご利用の環境に合わせて読み替えてください。
スケルトンを作る
まず,Railsのスケルトンを作ります。新たに作成しましょう。
$ rails -d mysql scheduler $ cd scheduler $ script/generate scaffold scheduler subject:string sdate:datetime edate:datetime description:string
ここまででRailsスケルトンはできました。
続いて,config/database.ymlファイルを編集します。図1のように,第3回で作成したユーザ名とパスワードを設定します。「database」にある名前は,次の手順で作成するMySQLのDB名なので,控えておいてください。
図1 config/database.ymlの編集箇所
development:
adapter: mysql
encoding: utf8
reconnect: false
database: scheduler_development
pool: 5
username: scuser
password: scuser
socket: /var/lib/mysql/mysql.sock
※ developmentセクションの「username」と「password」の定義内容を書き換える。「databese」にある名前は後でMySQL上で作成するDB名なので控えておく。
MySQL DBを設定する
続いて,MySQL DBを設定します。ユーザ「scuser」をまだ作成していない場合は,MySQLのコンソールで以下のように実行してください。
mysql> CREATE USER 'scuser'@'%' IDENTIFIED BY 'scuser';
ユーザを作成したら以下のコマンドを実行して,DBを作成しユーザscuserに権限を付与します。
mysql> CREATE DATABASE `scheduler_development` DEFAULT CHARACTER SET utf8; mysql> GRANT ALL PRIVILEGES ON `scheduler_development` . * TO 'scuser'@'%' WITH GRANT OPTION; mysql> FLUSH PRIVILEGES; mysql> exit
今度はOSのシェルで,以下のコマンドを実行します。
$ rake db:migrate
これで,scheduler_developmentデータベースの中に必要なテーブルが作成されました。
試しに動かしてみる
とりあえず動作するレベルのアプリができましたので,まずは動作を確認してみましょう。シェルで以下のコマンド実行します。
$ script/server
第4回で説明したような,WEBrick(Railsが持つ簡易Webサーバ)の起動画面が表示されます。ブラウザからは「ホスト名:3000/schedulers/」のように,ポート番号3000番とschedulerの複数形schedulersをURLに加えます。たとえばrails.gihyo.jpというホストであれば,URLはhttp://rails.gihyo.jp:3000/schedulers/となります。
図2のような画面が表示されれば,動作チェックは完了です。シェルでCtrl-Cキーを押して,サーバを一旦終了させましょう。

