チュートリアルの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/)
全てのページに適用される共通のスタイルをCSSに追加

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

リスト5.6
洗練されたタイポグラフィーを利用するためのCSSを追加する

```
$ vim app/assets/stylesheets/custom.css.scss
```
リスト 5.7
サイトロゴにCSSを追加する

```
$ vim app/assets/stylesheets/custom.css.scss
```
リスト5.8
shim要とサイトヘッダー用のパーシャル(部分テンプレート)をしようするように

```
$ vim app/views/layouts/_header.html.erb
$ vim app/views/layouts/_shim.html.erb
$ vim app/views/layouts/application.html.erb
```

パーシャルを使用することによってコードが綺麗に書ける
フッターをパーシャルで用意 + フッター用のCSSを記述

```
$ vim app/views/layouts/_footer.html.erb
$ vim app/assets/stylesheets/custom.css.scss
$ vim app/views/layouts/application.html.erb
```

リスト 5.13, 5.14
ネストや変数を使用して初期のSCSSファイルを書きなおした結果

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

リスト 5.16

注意点(チュートリアルのままでは動かなかった点)
 * grayLight -> gray-light
 * grayDarker -> gray-darker
Contactページの追加

```
$ vim spec/requests/static_pages_spec.rb
$ bundle exec rspec spec/requests/static_pages_spec.rb
(失敗)
$ vim config/routes.rb
$ vim app/controllers/static_pages_controller.rb
$ vim app/views/static_pages/contact.html.erb
$ bundle exec rspec spec/requests/static_pages_spec.rb
(成功)
```

3章の演習 リスト3.30, リスト 5.17
static_page の test の重複部分を消した

```
$ vim spec/requests/static_pages_spec.rb
$ bundle exec rspec spec/requests/static_pages_spec.rb
(成功)
```
routingのテストを書いて、それに合わせてconfig/routes.rbを編集して、testを通す

```
$ 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/views/layouts/_footer.html.erb
$ vim app/views/layouts/_header.html.erb
```
RSpecの洗練(5.3.4)

```
$ mkdir spec/support/
$ vim spec/support/utilities.rb
$ vim spec/requests/static_pages_spec.rb
$ bundle exec rspec spec/requests/static_pages_spec.rb
(成功)
```

リスト 5.27, 5.28,
Usersコントローラの作成

```
$ rails generate controller Users new --no-test-framework
```

リスト 5.29
userの結合テストを作成するためにgenerate

```
$ rails generate integration_test user_pages
```

5.4.2
signup用のテストを書いて user/newをsignupとする, そしてテストを通す

```
$ vim spec/requests/user_pages_spec.rb
$ bundle exec rspec spec/requests/user_pages_spec.rb
(失敗)
$ vim app/views/users/n
$ vim config/routes.rb
$ bundle exec rspec spec/requests/user_pages_spec.rb
(成功)
```
signup_pathを記述

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

リスト 5.35