【Exercises9_6_9】adminがadmin自身を削除しないようにする機能とテストを追加しました。

# Rails Tutorial 【Exercises9_6_9】

## 内容
adminがadmin自身を削除しないようにする必要があるので、その問題を解決する機能とテストを追加しました。
以下の手順の通りに実装を行いました。

- [x] adminがdestroyアクションを行う際に、削除する対象がadminであれば、アプリケーションのホームにリダイレクトしていることを確かめるテストを作成しました。
- [x] テストが通らないことを確認しました。
- [x] destroyアクションに、削除する対象がadminであればアプリケーションのホームにリダイレクトする機能を追加しました。
- [x] テストが通ることを確認しました。


## テスト結果
### リファクタリング前

```Ruby
% bundle exec rspec spec/                                                                                                              (git)-[Exercises9_6_9]
...........................................................................................F

Failures:

  1) User pages prevent admin users from destroying themselves. submitting a DELETE request to the Users#destroy action 
     Failure/Error: specify { expect(response).to redirect_to(root_url) }
       Expected response to be a redirect to <http://www.example.com/> but was a redirect to <http://www.example.com/users>.
       Expected "http://www.example.com/" to be === "http://www.example.com/users".
     # ./spec/requests/user_pages_spec.rb:62:in `block (4 levels) in <top (required)>'

Finished in 4.25 seconds
92 examples, 1 failure

Failed examples:

rspec ./spec/requests/user_pages_spec.rb:62 # User pages prevent admin users from destroying themselves. submitting a DELETE request to the Users#destroy action 

Randomized with seed 40337

```
### リファクタリング後

```Ruby
% bundle exec rspec spec/                                                                                                              (git)-[Exercises9_6_9]
............................................................................................

Finished in 4.15 seconds
92 examples, 0 failures

Randomized with seed 9757

```

## 演習内容

> http://www.railstutorial.org/book/updating_and_deleting_users#sec-updating_deleting_exercises



- - -

この内容でMasterにマージしたいと思います。
レビューをお願いいたします。

@tacahilo @kitak @gs3 @keokent 

## お願い
`user_pages_spec.rb`のdescribeメソッドにおける名前付けに関してもレビューをお願いしたいです！

>  "prevent admin users from destroying themselves."

> テンプレート内で そのインスタンス変数の内容を表示したいときとかに使うかな

あとは、`before_action`でセットした変数を、次の`before_action`あるいは`action`で、参照するときもインスタンス変数を使います。

たとえば、特定のユーザーのページを表示したり(`GET /users/:id`で`show` aciton)、削除するとき(`DELETE /users/:id`で`destroy` action)、両方のactionで `user = User.find(params[:id])`と記述すると思うのだけど、DRYではないので、`set_user`という`before_action`を定義して、あらかじめ`User`モデルのオブジェクトを`@user`という変数にいれておく、といったかんじです。
(`scaffold`で生成したプロジェクトのコードをみてみるとよいかも)