静的なページの作成

```
$ rails generate controller StaticPages home help --no-test-framework
```
config/routes.rbの読みづらい部分を消した
Tutorialの3.2.1 テスト駆動開発の冒頭

```
$ vim rails generate integration_test static_pages
```
Homeページの内容をテストするコードを記述

```
$ vim spec/requests/static_pages_spec.rb
```
Capybara DSLをRSpecヘルパーファイルに追加

```
$ vim spec/spec_helper.rb
```
rpsecで`minitest/autorun`が必要とか言われたので、対処

```
$ vim Gemfile
$ bundle install
$ vim spec/spec_helper.rb
```

warnning内容は
```
warning: you should require 'minitest/autorun' instead
```
的なやつ

これで一応治る
参考
 * [Rails4.1でrspec実行した時にエラーが出た](http://d.hatena.ne.jp/nakaearth/20140308)
testを通るようにhome.html.erbを編集

```
$ vim app/views/static_pages/home.html.erb
```

"Sample App"という文字列があるかどうかのテスト
testを用意し、それに合わせるようにhelp.html.erbを編集

```
$ vim spec/requests/static_pages_spec.rb
$ bundle exec rspec spec/requests/static_pages_spec.rb
(失敗)
$ vim app/views/static_pages/help.html.erb
$ bundle exec rspec spec/requests/static_pages_spec.rb
(成功)
```
aboutページのtestを作成、そのtestを通すためにconfig/routes.rbだったり、色々編集

```
$ vim spec/requests/static_pages_spec.rb
$ bundle exec rspec spec/requests/static_pages_spec.rb
(失敗)
$ vim config/routes.rb
$ bundle exec rspec spec/requests/static_pages_spec.rb
(失敗)
$ vim app/controllers/static_pages_controller.rb
$ bundle exec rspec spec/requests/static_pages_spec.rb
(失敗)
$ vim app/views/static_pages/about.html.erb
$ bundle exec rspec spec/requests/static_pages_spec.rb
(成功)
```
静的なページにtitleのtestをそれぞれ記述し、それを通る用に編集 + DOCTYPE等のHTML構造を備えたページに再編集

```
$ vim spec/requests/static_pages_spec.rb
$ bundle exec rspec spec/requests/static_pages_spec.rb
(失敗)
$ vim app/views/static_pages/home.html.erb
$ vim app/views/static_pages/help.html.erb
$ vim app/views/static_pages/about.html.erb
```
provide関数を使用した感じにリファクタリング

```
$ vim app/views/static_pages/home.html.erb
$ vim app/views/static_pages/help.html.erb
$ vim app/views/static_pages/about.html.erb
$ bundle exec rspec spec/requests/static_pages_spec.rb
(成功)
```

まだまだリファクタリングの余地あり
リスト3.23, 3.24, 3.25

provide関数で事前にひもづけるイメージ
重複する部分をtemplateに記述し、きれいなコードへ

```
$ vim app/views/layouts/application.html.erb
$ vim app/views/static_pages/home.html.erb
$ vim app/views/static_pages/help.html.erb
$ vim app/views/static_pages/about.html.erb
$ bundle exec rspec spec/requests/static_pages_spec.rb
(成功)
```

リスト 3.27, 3.28, 3.29
full_titleヘルパーを定義し、テンプレートでも使用するように編集

```
$ vim app/helpers/application_helper.rb
$ vim app/views/layouts/application.html.erb
```
Homeページのタイトル確認用にテストの更新, そして通るように修正

```
$ vim spec/requests/static_pages_spec.rb
$ bundle exec rspec spec/requests/static_pages_spec.rb
(失敗)
$ vim app/views/static_pages/home.html.erb
$ bundle exec rspec spec/requests/static_pages_spec.rb
(成功)
```
rails consoleコマンドがうまくいかなかったので、対処

```
$ vim Gemfile
$ bundle install
```
チュートリアルの5章の導入部, BootStrapを入れる準備だったり、トップページっぽくやってる

```
$ vim app/views/layouts/application.html.erb
$ vim app/views/static_pages/home.html.erb
$ cd app/assets/images/; wget http://rubyonrails.org/images/rails.png
```

テンプレートと home.html.erb が結構変わってる
bootstrap-sassを導入, そしてAssetPipeline互換

```
$ vim Gemfile
$ bundle install
$ vim config/application.rb
```
 * tutorialでは '2.3.2.0'
この時は '4.0.1'
BootStrap CSSを有効化

```
$ vim app/assets/stylesheets/custom.css.scss
```

ただ、importしただけ
undefined method `environment' for nil:NilClass的なエラーへの対処

 * 内容
```
NoMethodError - undefined method `environment' for nil:NilClass
```

 * 原因
sass-railsのバージョンが悪いらしい

 * 解決方法
sass-railsのバージョンをあげたgemにする
```
$ vim Gemfile
gem 'sass-rails', '~> 4.0.2'
$ bundle update sass-rails
4.0.1 -> 4.0.3
```

 * 参考
 * [undefined method environment for nil:NilClass](http://blog.takuyan.com/posts/2014/04/04/undefined-method-environment-for-nil-nilclass/)
TutorialがBootStrap 2 の記述だったので 3 へ移行した

```
$ vim app/views/layouts/application.html.erb
$ vim app/views/static_pages/home.html.erb
```

 * 参考
 * [Bootstrap3移行ガイド](http://bootstrap.s1.adexd.net/)