【Rails応用講座 4】Deviseによるユーザーの作成 >
ユーザーの作成

Deviseの導入

この項目では、Deviseのインストール方法やgem・deviseについて学びます。まずは、create-userという新しいブランチを作成しましょう。

$ git checkout -b create-user

Deviseとは

ユーザーのログイン機能を実装するのは大変なのでDeviseというGemを使用します。Railsでは多く使用されていて信頼性も高いGemです。

https://github.com/plataformatec/devise

Gemとは

便利機能をかんたんに使えるようにしてくれる、Rubyが提供する仕組みをgemといいます。例えばgemには以下のようなものがあります。

ログイン機能 => Devise

画像アップロード => Carrier Wave

ページネーション => Kaminari, will_paginate

また、gemのインストールを行うには、以下のようにgem install gem nameというコマンドを実行します。

$ gem install devise

もしくは、Gemfileにgemを追加して、bundle installというコマンドを実行します。今回は、こちらの方法でインストールを行います。

Deviseをインストールする

Gemfileに以下を追加してターミナルでコマンドを実行してください。

gem 'devise'

$ bundle install

$ rails g devise:install

上記コマンドを実行すると、 ファイルが作成されます。また、4つのインストラクションが表示されます。

これらは、Deviseを使用する為に必要なものですので、1つづつ設定していきましょう。ターミナルに表示されている内容は下記の通りです。

create  config/initializers/devise.rb
create  config/locales/devise.en.yml

1. メールの設定config/environments/development.rb:

    config.action_mailer.default_url_options = { host: ' }

2. ルートの設定 config/routes.rb.

     For example:
       root to: "home#index"

3. フラッシュメッセージが受け取れるようにする application.html.erb

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

4. 専用のViewを創りたい場合は以下を実行

       rails g devise:views

1. メールの設定config/environments/development.rb

最初にメールの設定をします。サーバーを起動し、ブラウザをたちあげます。次に以下部分をコピーします。

コピーしたものをdevelopment.rbに追加します。

これは、パスワードの再設定メールやアカウントの有効化メールなどを送る時の為の設定です。これらのメール内に、アプリへのリンクを貼り付けるときなどに、正しいURLを取得する為のものです。

development.rb

config.action_mailer.default_url_options = { protocol: 'https',host:'〇〇〇'}

protocolは'https'、host'〇〇'の〇〇の部分は上記の通り、サーバーを起動し、のブラウザのアドレスバーに表示されたhttps://以外の英数字~.comまでをコピーして貼り付けてください。

2. ルートの設定

ルートの設定は2つ目は教程2 ルーティングの設定(リンクをつける)でですでに行っている設定なので、今回は飛ばします。

3. フラッシュメッセージが受け取れるようにする application.html.erb

3つ目では、application.html.erbを編集します。以下、オレンジ色部分を追加して下さい。

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

これは、アラートを表示させる為のものです。

4. DeviseのView

これは後のレッスンでくわしくお伝えするので、今回は何もしなくても大丈夫です。少しだけ先に紹介しておくと以下のコマンドだけで、ログインやサインアップのデザイン画面をカスタマイズするためのファイルを作成してくれます。とても便利ですよ。

       rails g devise:views

課題

今回は代表的なGemであるDeviseのインストールからセットアップまで行いました。他にも便利なものがたくさんありますので、ネットでいろいろなGemを調べてみましょう。

検索キーワード例)Rails おすすめ Gem

また、Githubの手順に従ってannotate_modelをインストールしてみて下さい。

https://github.com/ctran/annotate_models

解答例

無料ビデオ講座のお知らせ

Skillhub [スキルハブ]では無料の動画講座を多数公開しています。他校だと数万円するような講座が無料で受講できます。

無料講座一覧を見る