カラム追加のUI対応


## Pickup

### `validates_presence_of :email`

: `validates_presence_of :カラム名`でそのカラムに対して「値が空でないか」を検証するバリデーションがかかります。

: バリデーションは保存する前にかかります。 `Contact.create`は`new`と`save`(保存)を実行しているのと同じことなので、`create`実行時にバリデーションがかかります。

: `create!`は`create`と違い、保存失敗時にエラー情報(正確には例外)を出してくれます。

### `@contact = Contact.new({name: name, email: params[:email]})`

: `name: name` の後ろのnameは上の行の`name = params[:name]`で代入された変数を使用しています。`email: params[:email]` は変数に代入することなくそのまま`params[:email]`を使っています。代入している場合としていない場合で結果的には同じことをしています(しないほうがコードが少なく済む利点はありますね)。