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/
を開くと、次のような画面になるはずです。
この画面のソースファイルは、app/views/top/index.html.erb
です。
<h1>Top#index</h1> <p>Find me in app/views/top/index.html.erb</p>
エディタで開いて適当に修正し、ブラウザを「再読込」して画面が変化することを確認してみてください。
今回は、ここまでとします。