【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."

>set_userというbefore_actionを定義して、
あらかじめUserモデルのオブジェクトを@userという変数にいれておく、といったかんじです。

まさに @kitak 先生が言っているの `correct_user` という `before_action` でやっているね！

```ruby
# app/controllers/users_controller.rb
before_action :correct_user,   only: [:edit, :update]

......

def correct_user
  @user = User.find(params[:id])
  redirect_to(root_url) unless current_user?(@user)
end
```