スポンサーリンク

【Rails】deviseを用いてログイン認証機能をつくろう!

プログラミング
スポンサーリンク

 アプリケーションでuser情報を活用したい場合、deviseを用いることでuserの管理が用意になります。
 この記事ではdeviseというgemを用いて、user情報を管理するアプリケーションを作成するための初期設定をする方法をお伝えしていきます。

gemをインストールしよう

 ログイン機能を設定するために、deviseというgemを用いていきます。
 Gemfileに以下を記述しましょう。

gem 'devise'

 gemfileに記述が終わったら、bundle installをしましょう。

% bundle install

deviseのインストール

 bundle installした後、deviseをインストールをしていきます。

% rails g devise:install

 これにより、deviseがrailsにインストールされ、使用することができるようになります。
 以下のように反映されていれば問題ありません。

deviseを用いたuserモデル、DBの作成

 そして、以下のコマンドにより、deviseを用いてuserモデルを作成しましょう。

% rails g devise user

 以下のように表示されていれば問題ありません。

 userモデルを作成した際に、migrateファイルも同様にできていますので、migrateファイルを編集していきましょう。
 こちらには、ニックネーム、生年月日など、必要なuser情報を含ませるようにしていきましょう。

deviseのビューを編集したい場合

 deviseには以下のように最初からビューが用意されています。


 しかし、簡素なものですので、そのビューを編集したい場合は、以下のコマンドを入力しましょう。

rails g devise:views

 これにより、ビューファイルを編集することができるようになり、見栄えの良いログイン画面を作成することができるようになります。

deviseの日本語化

 まずはconfig/application.rbに以下のコマンドを入力しましょう。

config.i18n.default_locale = :ja

 入力したら、config/localsディレクトリ内に、devise.ja.ymlというファイルを作成します。

 その中に、こちらのコードを貼り付けましょう。
 そして、以下の箇所に翻訳を追記します。

ja:
  errors:
    messages:
      not_saved: "登録に失敗しました"

  activerecord:
    errors:
      models:
        user:
          attributes:
            email:
              blank: "が入力されていません"
            password:
              blank: "が入力されていません"

 これによってemailやpasswordが未入力だった場合、以下のようにエラー文が日本語化されます。

 以上でdeviseの初期設定は完了です。

この記事を読んだ方へのおすすめ記事

コメント