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

ここは @マーク付きの インスタンス変数にする必要はないかな。
アクション内でインスタンス変数を定義するのは テンプレート内で そのインスタンス変数の内容を表示したいときとかに使うかな。

試しに show アクションを見てみると

```ruby
def show
  @user = User.find(params[:id])
end
```

のように `＠user` というインスタンス変数に `User.find(params[:id])` で取得した Userモデルのインスタンスをセットしてるよね。こうすると show のテンプレートは `＠user` を受け取ることができるので、`＠user.name` で名前を表示したりすることができます。

```ruby
# app/views/users/show.html.erb
<% provide(:title, @user.name) %>
<div class="row">
  <aside class="span4">
    <section>
      <h1>
        <%= gravatar_for @user %>
        <%= @user.name %>
      </h1>
    </section>
  </aside>
</div>
```

前置きが長くなったけど、ここは `user` のようなローカル変数に代入すれば良いと思うよ！