2007年02月21日(水) [長年日記]
- 朝の6時過ぎまで眠れなかった。仕方ないから起きるか、と思ったら眠ってしまったようだ。
■ インストール
Fedora Core 5にインストールした。RPMにはなっていないようなので、RubyGemsを使ってインストールする。
$ sudo yum install rubygems
としてRubyGemsをインストールし、
$ sudo gem install rails
としてRailsをインストールした。依存するパッケージのインストールに存外に時間がかかった。Railsはバージョン1.2.2がインストールされたようだ。
■ アプリケーションの作成
とりあえず、WEB+DB PRESS vol.28に載っていたRuby on Rails入門の最初に書かれていることをやってみようと思った。
$ mkdir ~/rails $ cd ~/rails $ rails gagaga
とすると色々とファイルが作られた。これだけでブラウザからアクセスはできるとのこと。
$ cd gagaga/script $ ./server
でウェブサーバを起動しブラウザでポート3000にアクセスするとWelcome画面が表示された。
■ データベースの作成
ここでつまずいた。config/database.ymlを編集せよとのことなので開いてみたが、書かれているのはmysqlの設定だけ。SQLiteを使いたいのだけれど、どう書けばよいのかわからない。勘で修正して先に進んでみたが、結局うまく動かなかった。
検索するとまちゅダイアリーに
-d オプションでデータベース (sqlite3) を指定している。
という記述を見つけた。むむ、そうなのか。
アプリケーションの作成からやり直す。
$ cd ~/rails $ rails -d sqlite3 uma
これでconfig/database.ymlはSQLite用の設定になった。特に編集すべき所はなさそうなので、続いてsqlite3コマンドを使って db/development.sqlite3 ファイルにusersテーブルを作った。
■ アプリケーションのscaffoldを生成
次はgenerateコマンドを実行せよとのこと。
$ cd uma $ script/generate scaffold user
を実行する。が、
exists app/controllers/ exists app/helpers/ create app/views/users exists app/views/layouts/ exists test/functional/ dependency model exists app/models/ exists test/unit/ exists test/fixtures/ create app/models/user.rb create test/unit/user_test.rb create test/fixtures/users.yml Couldn't find 'user' generator
とエラーになってしまう。謎のエラーで困ったが、同様のエラーで困っている人へのアドバイスを読んでsqlite3-rubyパッケージがインストールされていないのが原因だと分かった。
気を取り直してsqlite3-rubyをインストール。なにやらSWIGが無いとうまく動かないという情報も得たので、
$ sudo yum install swig $ sudo gem install sqlite3-ruby
を実行した(Fedoraにはruby-sqlite3というRPMファイルが用意されていたがこれは使わずRubyGemsからインストールした)。
これで再度 script/generate コマンドを実行すると今度はエラーなく完了。
■ ブラウザからアクセス
これでブラウザからusersテーブルを更新できるようになっているとのことなので http://hostname:3000/users/ のようにしてアクセスしてみたが
`/users/' not found.
とエラーになってしまう。
これはウェブサーバの起動方法を間違えていたのが原因。上に書いたようにscriptディレクトリの中でserverコマンドを実行してしていたが、これでは駄目なようだ。
$ cd ~/rails/uma $ script/server
として起動するとうまく動いた。わーい。
今日はここまで。
■ 参考サイト
まだRailsのことは全然分かってない。参考になりそうなページをちょっとメモ。
- HowtoUseSQLite (RoR Wiki 翻訳Wiki)
- 簡単なウェブアプリケーションフレームワークを始める易しい方法 (Rails' Wiki)
- Railsでソーシャルブックマークを作ってみようか(第2回) (坊やがゆく)
■ やること
- 年金
- 税務署へ行く
- PDF生成