Deviseの導入この章ではユーザーの新規登録・ログイン機能を開発していきます。ユーザーの新規登録・ログイン機能を簡単に作成するために今回DeviseというGemを導入します。Deviseはユーザー登録やログイン機能などの認証に必要な機能を簡単に追加できるRails用のGemです。Deviseの公式ドキュメントはこちらです。本パートでは、下記の画像のようにデザインは何もない状態のサインアップ・サインイン機能を実装をしていきます。目標物を作成するまでの流れDeviseのGemをインストールDeviseのフラッシュメッセージを追加DeviseのビューファイルをインストールUserモデルを作成Usersテーブルを作成Deviseの導入の確認ナビゲーションヘッダーの非表示Deviseの導入に関しても、基本的に公式ドキュメントに沿って行っていくので、導入方法を覚える必要はないです。実際に進めていきましょう。DeviseのGemをインストールまず今回導入するDeviseの公式ドキュメントにアクセスしてください。started」の箇所を見ましょう。Gemfile」とあるので、まずGemfileの最下部に以下のコードを追加します。installを実行します。generator」と公式ドキュメントにあるように以下のコマンドを実行してください。devise:install上記コマンドを実行すると以下のファイルが作成されます。config/locales/devise.en.ymlファイルを作成すると、ターミナルに以下のようなメッセージが表示されます。こちらはdeviseを使う上での初期設定になるので、1から順に見て行きましょう。devise:views===============================================================================1はメール送信の設定で本教材ではメール送信の実装は行わないので、1は飛ばします。仮のトップページを表示」で定義しているので、2も飛ばして大丈夫です。4に関しては下記に説明を記載しています。Deviseのフラッシュメッセージを追加フラッシュメッセージとはある動作を行った時、成功したのか、もしくは失敗したのか、相手に知らせる機能のことです。メールアドレスが正しくない状態でログインしようとしたときに、ログインに失敗した旨をメッセージとして表示したりします。app/views/layouts/application.html.erbに以下のようにコードを追加してください。Deviseのビューファイルをインストール以下のコマンドでdevise用のviewファイル(表示する画面)を生成します。devise:views実行すると以下のようなファイルが生成されます。どのようなファイルが生成されたかを見てみましょう。実行結果を見てみることは大事です。様々な「.html.erb」という拡張子のファイルが作成されています。Deviseを使うと、コマンド1つで一気に複数のファイルを作成してくれます。1から自分で作るより非常に便利です。これがGemの魅力でもあります。Userモデルを作成モデルとはMVCで言うところのMにあたり、データベースへのアクセスをはじめ、情報のやり取りを行うシステムの階層です。以下のコマンドでDevise用のUserモデルを作成します。モデル名の値は任意です。作成したいモデル名で作成できます。今回はUserというモデル名で作成します。User上記のコマンドを実行すると、以下のようなファイルが作成されます。こちらもどのようなものが生成されたか見てみましょう。先ほどUserモデルを作成した際に、db/migrate/フォルダの中にマイグレーションファイルが作成されました。マイグレーションファイルとは、テーブルの設計図です。設計図のままだと特に何かを作成することはないので、設計図をもとにテーブルを作成する必要があります。Railsだとマイグレーションファイルを実行することで、設計図を元にテーブルを作成したり、カラムを追加したりできます。マイグレーションファイルを実行するには以下のコマンドで実行できます。db:migrate上記のコマンドを実行すると以下のような結果が表示されます。Deviseの導入の確認Gemを新しく追加しているので、サーバーを再起動させます。以前立ち上げていたサーバーを終了させます。Cを同時に押せば大丈夫です。s」コマンドでローカルサーバーを立ち上げます。開くと以下の画面のようにサインアップ画面が表示されていれば問題ありません。ナビゲーションヘッダーの非表示ログインしていないユーザーにはNavbarを表示しないようにしていきます。いうのもマイページ機能やお気に入り機能など、アカウント登録していないユーザーは、使うことはありません。current_user」という条件式を追加することでログインしているかを確認してログインしていなかった場合にNavbarを非表示にするということが可能になります。deviseで使えるようになるヘルパーメソッド一覧では、application.html.erbに以下のように編集してください。アクセスしてみてください。以下のようにNavbarが表示されていなければ、問題なく動作しています。ちなみにサインイン画面は以下のように表示されれば大丈夫です。サインイン画面)http://localhost:3000/users/sign_in以上でこのパートは終了です。DeviseというGemの力を借りたことで、簡単に会員登録機能が出来ました。次のパートでは実際にサインアップができるかどうかの確認を行います。※実際に運用している世の中のサービスではDeviseというGemを使っている場合もあれば使っていない場合もあります。言うと、Gemを使うとスピーディーに開発出来て便利という一面、0から自分で開発していないため、出来ることに制約があります。いった面も踏まえて、Gemを使うか使わないかの判断が必要です。"この評価の理由をお聞かせください。text:'12月28日~1月5日の期間は年末年始のため質問の回答が遅れる場合がございます。$('.announce').after(announce_text);。