Rails 2.1を使ってみる

Rails2 系に対応した「Agile Web Development with Rails, Third Edition」を PDF で購入して読む。1.x 系と激しく違うということなので、日本語書籍を待つよりは PragProg の原著を追うのが吉じゃないかと思ったわけだ。久しぶりに英語のドキュメントを読んでみたくもあった。以下メモ:

  • おことわり: S本は Rails 1.x をちょっと触ったくらいしか知らないので当メモはあくまで自分用。
  • デフォルトサーバは webrick じゃなくて mongrel なので gem install すべし。mongrel がないと webrick が使われる。何が違うかは今の私にはどうでもいい。
  • デフォルトデータベースが mysql じゃなくて sqlite3 になっているので rails -d mysql すべし。
  • controller, view の生成に関しては今までどおり script/generate で生成するらしい
  • model の項目追加などはまず script/generate migration で migration なるものを作り、その中に項目追加などの記述をする。しかるのち rake db:migration で適用している。
  • migration がだんだん増えていくことで更新履歴にもなるのか?特定のバージョンにロールバックもできる。
  • どのファイルをバージョン管理すべきか、どうやると効率的かが知りたい。今はとりあえず svn --force add . しておく。

タスクC: カート

セッション情報としてカート内容を保持するには DB を使う。デフォルトだとサーバーが保持するが、アプリケーションサーバ増設などの際には DB に保持していた方がスケーラブルだからだ。

セッション用テーブルの追加
rake db:sessions:create
rake db:migrate
セッションを DB に保存するように変更

config/environment.rb を編集する。config.action_controller.session_store = :active_record_store のコメントアウトを外す。