STEP 1: アプリケーションの作成からトップページの表示まで

2010/01/26

この連載では、簡単なWebアプリケーションを作りながら、Ruby on Railsの基本を学んで行きます。

ベースになるRailsのバージョンは2.3.5です。また、前提としてMySQLがインストールされているものとします。

WindowsへのMySQLのインストール手順については MySQLインストール(Windowsの場合) 等を参考にしてください。

筆者の使用しているOSはLinux (Ubuntu 9.10)です。そのため、ファイル名やコマンドの記述法はUnix風になっています。WindowsやMac OSをご利用の方は適宜読み替えてください。

記号 $ に続く文字列は端末(コンソール)で入力したコマンドを示しています。Windows の場合は、「コマンドプロンプト」を開いて入力した文字列を意味します。


はじめに、作業環境を確認しましょう。まずはRailsのバージョン。

$ rails --version
Rails 2.3.5

次にMySQLサーバへの接続です。rootのパスワードを設定していない人は -p オプションは不要です。

$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 78
Server version: 5.1.37-1ubuntu5 (Ubuntu)

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> quit
Bye

以下、作業用のディレクトリ ~/work で開発を行うことにします。お好きなディレクトリで結構です。

$ mkdir ~/work
$ cd ~/work

新規アプリケーション plaka を作成します。-d オプションで使用するデータベースの種類を指定しています。

$ rails -d mysql plaka
$ cd plaka

次に、データベース接続の設定を変更します。rootのパスワードを設定していない場合、この作業は不要です。

エディタで config/database.yml を開いて、次のように修正します。

development:
  adapter: mysql
  encoding: utf8
  database: plaka_development
  username: root
  password: password
  host: 127.0.0.1

password の部分は、実際のパスワードで置き換えてください。


開発用データベース plaka_development を作成します。

$ rake db:create

MySQLコンソールで確認しましょう。

$ mysql -u root -p -e "show databases"

plaka_development という文字列を含む行が表示されればOKです。


では、トップページを作成しましょう。

まず、ファイル public/index.html を削除します。

次に、generate スクリプトでTopコントローラを生成します。

$ ruby script/generate controller Top index

ルーティングを設定します。ブラウザからのアクセスをどのコントローラのどのアクションが担当するかをRailsアプリケーションが決定するためのルールです。

エディタで config/routes.rb を開いて、次のように修正します。

ActionController::Routing::Routes.draw do |map|
  map.root :controller => 'top', :action => 'index'
end

ルートパス / へのアクセスは、Topコントローラのindexアクションが担当することを宣言しています。

オリジナルのファイルにはいろいろと書いてありますが、# で始まる行はコメントなので思い切って全部消してしまいましょう。そして、map.rootの行を追加してください。このファイルはRailsアプリケーションにとって非常に重要で、間違えると起動しない場合があるので、特に丁寧に入力してください。

config/routes.rb 末尾付近の map.connect で始まる2行も消していいのか不安になるかもしれませんが、これはRails 1.x時代の名残なので消して構いません(消すべきです)。


アプリケーションを起動します。

$ ruby script/server
=> Booting WEBrick
=> Rails 2.3.5 application starting on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2010-01-26 00:08:23] INFO  WEBrick 1.3.1
[2010-01-26 00:08:23] INFO  ruby 1.8.7 (2009-06-12) [x86_64-linux]

ブラウザで http://localhost:3000/ を開くと、次のような画面になるはずです。

画面キャプチャ00

この画面のソースファイルは、app/views/top/index.html.erb です。

<h1>Top#index</h1>
<p>Find me in app/views/top/index.html.erb</p>

エディタで開いて適当に修正し、ブラウザを「再読込」して画面が変化することを確認してみてください。

今回は、ここまでとします。