Deviseの導入

このレッスンでは、Deviseのインストール方法やgem・deviseについて学びます。

 

吉田先生

ユーザーのログイン機能を実装するのは大変なのでDeviseというGemを使用します。


 

 

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をインストールする

まずは、create-userという新しいブランチを作成しましょう。

$ git checkout -b create-user

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「ルーティングの設定(リンクをつける)」ですでに行っている設定なので、今回は飛ばします。

 

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

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

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

 

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

 

課題

ネットでいろいろなGemを調べてみましょう。

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

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

https://github.com/ctran/annotate_models

 

解答例

 

次のレッスンでは、ユーザーを作成します。では、次のレッスンに進みましょう!

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

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

無料講座一覧を見る

×