Railsアプリケーションを作る

前回のエントリではMySQLを使ったアプリを作ろうと思ったが、SQLiteを使ったことがないのでそちらを使ってみることにした。MacOS XにSQLite3がデフォルトでインストールされてたっていうのも大きな理由:)
また、最初はEclipseで開発を進めようと思ったが、まずはコマンドプロンプト(Macの場合はTerminal)とテキストエディタのみで進めていく。IDEで定型処理をカバーするのは、慣れてくれば良いとは思うが、最初はどういう処理を行っているのかを確認しながら進めて行きたいので。

アプリケーションの作成

基本的に公式ドキュメントのGetting Started with Railsをトレースしていく。がアプリ自体はappengineに倣ってguestbookとする。
まずはRubyGemsからSQLite3用のライブラリをインストールする。

gem install sqlite3-ruby

このときNo definition 〜というメッセージが大量に表示されたが、取り敢えず気にしない。時間があるときにでも調べる。

最初に任意のディレクトリにプロジェクトを作成し、そこへ移動する。ここではC:\ruby配下に作成した。

cd c:\ruby
rails guestbook
cd guestbook

次にSQLite3にデータベースを作成する。

rake db:create

これでSQLite3にguestbook用のデータベースが作成される。

最初はもちろんHelloWorld

アプリケーションを初めて作る場合は、必ずHello Worldをやると決まっているらしいので、それをやる。
まずはコントローラを作成する。

ruby script/generate controller home index

次に画面に表示する文字列を編集する。編集するファイルは、app/views/home/index.html.rb。一行目を書き換える。

<h1>Hello, Rails!</h1>
<p>Find me in app/views/home/index.html.erb</p>

サーバを起動して、ブラウザで確認する。

ruby script/server

ブラウザでhttp://localhost:3000/home/indexにアクセスすると、index.html.rbを編集した内容が表示される。

アプリケーションの初期ページ設定

web.xmlでいうところのwelcome-fileを設定する。
public/index.htmlを削除して、config/routes.rbを開いて、最下部(end)の手前に以下の行を追加する。

map.root :controller => "home"

ブラウザでhttp://localhost:3000/にアクセスすると、先ほど表示された画面が表示されるはず。