試してみたはじめにつぎにつくる予定のWebアプリでは、認証(ログイン)機能を実装しようと思っています。そこで認証機能を実装するためのgemで有名な『devise』の最低限の動作確認をしてみました。インストールする3.devise対応のUserモデルを生成する4.トップページをつくる5.認証後のリダイレクト先をユーザーページにするおわりに完成イメージこの記事の通りに進めると、以下のサンプルアプリが完成します。未ログイン時は「サインアップ」「ログイン」リンクが表示されます。(ログインじゃなくて「サインイン」にすればよかった......)ログイン画面。レイアウトはdeviseのデフォルトレイアウトです。ログインするとユーザーページが表示されます。トップページに戻ると「ログアウト」リンクのみが表示されています。ログアウトすると元に戻ります。newするRails6.0.0でアプリを新規作成します。gem-devise-sampleトップページが表示されることを確認します。'devise'続けて、以下のコマンドでdeviseの設定ファイルを作成します。devise:install3.devise対応のUserモデルを生成するUserモデルをつくります。以下のコマンドでdevise対応のUserモデルを生成。db:migrateでマイグレーションを実行。コメントアウトされているカラムがあるが、今回は最低限の動作確認のみのため、そのままにしておきます。endendこの時点で、http://localhost:3000/users/sign_inを開くと最低限のログインページができています。リダイレクト先ページをユーザー個人のプロフィールページに変更します。4.トップページをつくるPagesコントローラーをindex、showアクションつきで生成。showルーティングを設定をします。rootを先ほど生成したpages#indexに。:usersはdevise対応のUserモデルを生成した時点で自動で設定されます。:usersendトップページのビューを編集します。今回は、ログイン状態によって、表示するリンクが切り替わるようにしたいと思います。user_signed_in?でログイン状態を判定し、表示するリンクを切り替えます。:usersにより、‘new_user_session_path‘や‘destroy_user_session_path‘など、devise用の名前付きルートが使えるようになっているので、その名前付きルートを使ってリンクを記述します。%>これで、ログイン状態によってリンクが切替わるようになりました。5.認証後のリダイレクト先をユーザーページにするDevise::Controllers::Helpersのafter_sign_in_path_forメソッドをオーバーライドすることで、認証後のリダイレクト先をカスタマイズできます。end※current_userで現在ログインしているユーザー情報を取得できる。ユーザーページのビューを編集します。ログインユーザーのメールアドレスを表示するようにしてみました。%></div>さいごに、ユーザーページのルーティングを編集。:usersendこれで完成😤ログインするとそのユーザーのページが開きます。usersをしてdevise対応のコントローラーやビューを生成する必要があるようです。今回は最低限の動作確認が目的のため、そこまでは手を出しませんでした。サンプルアプリをつくるくらいなら簡単ですが、deviseは多機能で、使いこなすのは一筋縄ではいかなそう、という印象を受けました。それでもゼロから認証機能をつくるよりはよっぽど簡単なのですが。