Railsでログイン、ユーザー登録機能を簡単に実装できるgem「devise」の使い方

このエントリーをはてなブックマークに追加

セキュリティやら何やらで何かと面倒なログイン機能を簡単に実装できるgemがRailsにあるのです。
今日は、その使い方を紹介したいと思います。

インストール

まずは、gemをいれる。

gem install devise
bundle install

ジェネレーターを起動。

rails g devise:install
rails generate devise モデル名

モデル名は、自分が適用したい名前を入れて下さい。
会員登録に使われることが多いので、たいていは User が使われる。

スポンサーリンク

生成されたものを見てみる

deviseというrailsのgemを使えば、ログイン、新規登録機能を簡単に実装できる
:confirmable はメール送信による認証です。不要な場合は省略して下さい。
その他オプションについては、こちらを参考に。

メール送信の場合は、config / environments / development.rb も編集しておきましょう。
こちらを追加。

deviseというrailsのgemを使えば、ログイン、新規登録機能を簡単に実装できる

モデルについてみて見ると、こんな感じでマイグレートファイルが生成されている。(一部のみ掲載)
deviseというrailsのgemを使えば、ログイン、新規登録機能を簡単に実装できる

スポンサーリンク

ルーティング設定

こちらを追加。

devise_for :users

あとは、ログイン後のリダイレクト用に、rootも追加。

root 'home#index' #ここは自分のrootパスを

私の場合、home#index をrootにしたので、これのためにcontrollerをつくりました。

rails g controller home index

あとは好きなように views/home/index.html.erb や controller を編集して下さい。

rake db:migrate

も忘れずに!

ユーザー認証を導入

ユーザー認証を導入するために、各コントローラーに

before_filter :authenticate_user!

を追加。
これで、ログインしていないユーザーのアクセスをはじくことができる。

noticeを表示させる

ログイン失敗などのアラートを表示させるためにviewを編集しましょう。
app/views/layouts/application.html.erb に

<p class="notice"><%= notice %></p>
      <p class="alert"><%= alert %></p>

を追加。

ログイン、新規登録機能は完成

deviseというrailsのgemを使えば、ログイン、新規登録機能を簡単に実装できる
こんな風に適当な(登録されていない)メールアドレスを入力すると、

deviseというrailsのgemを使えば、ログイン、新規登録機能を簡単に実装できる

有効なやつを入力して下さいと注意されます。

さらに、ログインしていない状態でURLにアクセスしようとすると、
deviseというrailsのgemを使えば、ログイン、新規登録機能を簡単に実装できる
ログイン、または新規登録する必要があります。という警告が。

ログインユーザーの情報にアクセス

ログインユーザーの情報を取得したい場合は、

current_user

を使いましょう。
current_ のあとには、モデル名がきます。
例えば、devise g でmemberを作成している場合は、

current_member

で取得することができます。

例えば、ログインユーザーのidを取得したい場合は、

current_user.id

でidを取得することができます。

まとめ

数行書くだけでこんなに立派なログイン機能を実装することができました。すばらしいですね。RailsでWebサービスをつくる際は、ぜひdeviseを利用してみて下さい。

なお、技術的なことでつまづいたらエンジニアのためのQ&Aサイト「teratail」を利用すると、疑問が解決するかもしれませんので、ぜひ利用してみて下さい。

参考リンク

plataformatec/devise
Railsの第4世代認証エンジンDeviseのREADMEを翻訳してみた
Rails3アプリにDeviseで簡単に認証システムを組み込む

プロに教えてもらったRails良書

筆者Twitterアカウント

フォローいただければ、最新記事や、ブログで稼ぐ、アクセスを集める方法などをタイムラインにお届けします。

仕事で悩む人から人気の記事

ブログ「らふらく」を購読する→follow us in feedly

この記事が気に入ったら
いいね!しよう

最新情報をお届けします

ブログで稼ぐ方法をまとめてます

関連記事はこちらからどうぞ!

いつもシェア感謝です!今回もぜひ

このエントリーをはてなブックマークに追加
※ 微妙だったら、そっと閉じるか、ほかの記事を見ていただけるとうれしいです!
SNSでも自分の得意なことで収入を得る方法を発信しています。フォローすれば更新をチェックできますので、ぜひフォローを。
仕事依頼などのお問い合わせは「iwgp545@yahoo.co.jp」か、「TwitterのDM」、「Facebookのメッセージ」からお願いします。

SNSでフォローしてお金を稼ぐための情報を受け取ろう
LINE@で友達追加(スマホでLINEを起動 > その他 > 友だち追加 > QRコード読み取り)
ブログで生活しているタクスズキと申します。「好きなことを仕事に」を当たり前にする活動をしています。よく「真面目」と言われる89世代の意識高い系です。 スズキについて詳しく知りたい方はこちらからどうぞ
仕事のご依頼(広告掲載、記事寄稿など)はiwgp545@yahoo.co.jpからお願いします!