railsで作る簡単な本棚アプリ (1)
前回の記事 で書いたdefault_scopeとunscopedの例を試すために、簡単な本棚アプリを作ってみた。
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を変更する。
- 参考にしたページ => Rake 0.9でWARNINGが出るときの対処法 - 仮想ヒッチハイキング
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で生成したページはそれぞれ
- Users: http://localhost:3000/users
- Books: http://localhost:3000/books
- BookShelf: http://localhost:3000/book_shelves
となる。