本日のRailsTutorial 4 10章
第10章 ユーザーの更新・表示・削除
演習はほとんどやっていない
10.1 ユーザーを更新する
edit ビューつくる
PATCHリクエストは、更新するときのアクション(update)
10.2 認可
ウェブアプリケーションの文脈では、認証 (authentication) はサイトのユーザーを識別することであり、認可 (authorization) はそのユーザーが実行可能な操作を管理することです。
たとえば、自分の情報を自分以外が編集できないようにすること
フレンドリーフォワーディング
10.3 すべてのユーザーを表示する
ユーザー一覧ページ
管理者権限とユーザー削除の機能追加
ページネーション
10.4 ユーザーを削除する
削除機能の実装
まとめ
- ユーザーは、編集フォームから
PATCH
リクエストをupdate
アクションに対して送信し、情報を更新する - Strong Parametersを使うことで、安全にWeb上から更新させることができる
- beforeフィルターを使うと、特定のアクションが実行される直前にメソッドを呼び出すことができる
- beforeフィルターを使って、認可 (アクセス制御) を実現した
- 認可に対するテストでは、特定のHTTPリクエストを直接送信する低級なテストと、ブラウザの操作をシミュレーションする高級なテスト (統合テスト) の2つを利用した
- フレンドリーフォワーディングとは、ログイン成功時に元々行きたかったページに転送させる機能である
- ユーザー一覧ページでは、すべてのユーザーをページ毎に分割して表示する
rails db:seed
コマンドは、db/seeds.rb
にあるサンプルデータをデータベースに流し込むrender @users
を実行すると、自動的に_user.html.erb
パーシャルを参照し、各ユーザーをコレクションとして表示するboolean
型のadmin
属性をUserモデルに追加すると、admin?
という論理オブジェクトを返すメソッドが自動的に追加される- 管理者が削除リンクをクリックすると、
DELETE
リクエストがdestroy
アクションに向けて送信され、該当するユーザーが削除される - fixtureファイル内で埋め込みRubyを使うと、多量のテストユーザーを作成することができる
感想
演習の内容が主にテストなので、復習して自分でテストをかけるようになればgood