Ruby連載の最終回にあたる今回は、Ruby on Rails(以下Rails)でMySQLを使用するWebスケジューラを完成させます。
本連載では、@YMCのVPSサービスを用いて説明を進めていきます。利用するVPSサービスにより細かな違いはありますが、大きな流れは同じですから、ご利用の環境に合わせて読み替えてください。
スケルトンを作る
まず、Railsのスケルトンを作ります。新たに作成しましょう。
ここまででRailsスケルトンはできました。
続いて、config/database.ymlファイルを編集します。図1のように、第3回で作成したユーザ名とパスワードを設定します。「database」にある名前は、次の手順で作成するMySQLのDB名なので、控えておいてください。
MySQL DBを設定する
続いて、MySQL DBを設定します。ユーザ「scuser」をまだ作成していない場合は、MySQLのコンソールで以下のように実行してください。
ユーザを作成したら以下のコマンドを実行して、DBを作成しユーザscuserに権限を付与します。
今度はOSのシェルで、以下のコマンドを実行します。
これで、scheduler_developmentデータベースの中に必要なテーブルが作成されました。
試しに動かしてみる
とりあえず動作するレベルのアプリができましたので、まずは動作を確認してみましょう。シェルで以下のコマンド実行します。
第4回で説明したような、WEBrick(Railsが持つ簡易Webサーバ)の起動画面が表示されます。ブラウザからは「ホスト名:3000/schedulers/」のように、ポート番号3000番とschedulerの複数形schedulersをURLに加えます。たとえばrails.gihyo.jpというホストであれば、URLはhttp://rails.gihyo.jp:3000/schedulers/となります。
図2のような画面が表示されれば、動作チェックは完了です。シェルでCtrl-Cキーを押して、サーバを一旦終了させましょう。
画面周りを日本語化する
このままでも日本語の入力はできるのですが、やはり画面は可能な限り日本語化しましょう。表示を日本語化するには、以下のファイルを編集します。
- app/views/schedulers/edit.html.erb
- app/views/schedulers/index.html.erb
- app/views/schedulers/new.html.erb
- app/views/schedulers/show.html.erb
- config/environment.rb
編集箇所は、リスト1のとおりです。なお、Windowsなどで編集する場合は、文字コードをUnicode(UTF-8)で保存してください。
編集を終えたら、先ほどと同様にサーバを起動してブラウザからアクセスしてみましょう。まずは画面を日本語化できました(図3~6)。
このように入力から登録、表示まで、一通り行えています。
今後の方針
追加修正
この後、英語表示が残っている部分も日本語化したり、タイムゾーンをUTC(協定世界時)ではなく日本時間(JST)にしたり、項目の入力欄をもっと使いやすくしたり…といった改善ポイントがあります。
複数ユーザの利用と管理画面
今回の連載では取り上げられませんでしたが、この他、
- 複数ユーザでの利用
- 共通の管理画面
- ファイルの添付
といった機能があると便利でしょう。その場合、RoRのヘルパーを使うと、効率良く開発できます。
まとめ
以上、5回にわたってVPS上でのRuby開発の基礎をお届けしました。Ruby自体は便利な反面、開発環境を整えたり、準備をするときにコツがいります。その場合、今回紹介した@YMCのサービスなど、ホスティングサービスを利用すると便利です。ぜひ皆さまもご活用ください。