railsで作る簡単な本棚アプリ (1)

前回の記事 で書いたdefault_scopeとunscopedの例を試すために、簡単な本棚アプリを作ってみた。

環境

rails new

本棚アプリを作る

rails new bookshelf -T

テストはrspec使いたいので、-Tオプションを指定する。

git init

gitリポジトリを作って、コミットしておく。

cd bookshelf
git init
git add .
git commit -m "project init"

rspecとfactory_girlの設定をする

Gemfileの:development, :testのグループにgemを追加する。
railsが生成したGemfileのコメントを外して、下記の内容を追加する。

group :development, :test do
  gem 'webrat'
  gem 'rspec' # この行を追加
  gem 'rspec-rails' # この行を追加
  gem 'factory_girl_rails' # この行を追加
  gem 'rails3-generators' # この行を追加
end
rake 0.8.7を使う

rake使ったときに

WARNING: Global access to Rake DSL methods is deprecated.  Please Include

などが出たので、rake 0.8.7を使うようにGemfileを変更する。

Gemfileにrakeのバージョン指定を追加

gem 'rails', '3.0.7'
gem 'rake', '0.8.7' # この行を追加

ここまでGemfileを変更したら、bundle installする。

bundle install

後、コミットしておく。

git add -A
git commit -m "Gemfileの初期設定をした"

scaffoldでたくさん作る

必要なモデルなどをscaffoldで生成する。

rails g scaffold User name:string
rails g scaffold Book title:string price:integer R18:boolean
rails g scaffold BookShelf user:references book:references

そして、コミットしておく。

git add -A
git commit -m "scaffold User, Book, BookShelf"

動かしてみる

まずはDBを作って、マイグレートする。

rake db:create
rake db:migrate

ここでdb/schema.rbが作成されるので、コミットしておく。

git add db/schema.rb
git commit -m "DBのマイグレーション"

そして、rails server を起動させる。

rails s

デフォルトだとhttp://localhost:3000/でサーバが起動する。
scaffoldで生成したページはそれぞれ

となる。