LoginSignup
4
4

More than 5 years have passed since last update.

Deviseの初期設定

Last updated at Posted at 2018-09-15

この記事はRailsでdeviseを導入した時に詰まったとこや、学んだことを備忘録的に書き連ねてゆきます。

deviseとは

DeviseとはRailsで作成したアプリケーションへ簡単に認証機能を実装することができるgem(ライブラリ)の一つ。
https://diveintocode.jp/tips/devise

要するにログイン、ユーザー登録などに必要な機能を全て備えているライブラリの一つ。テーブルも作ってくれる、便利なgem。

devise導入手順

Gemファイルに以下を追記

gem 'devise'

gemインストール

bundle install

deviseインストール

rails g devise:install

Userモデル作成(名前は何でも良い)

rails g devise User

マイグレーション

rake db:migrate

以上をすると、dbにUserテーブルが出来る。
http://localhost:3000/users/sign_up」にアクセスするとログイン画面が出てくる。

ビュー作成

rails generate devise:views users

以上を実行するとviews/usersが出来る。
ログイン画面はsessions/new.html.erb

コントローラ作成

rails g devise:controllers users

以上を実行するとcontrollers/usersにコントローラが出来る。

ルーティング変更

http://localhost:3000/users/sign_up
は少々冗長。
http://localhost:3000/login
などに変更したい。

そんな場合routes.rbを変更。

routes.rb
  devise_scope :user do
    get 'login', to: 'devise/sessions#new'
  end

リダイレクト先を指定する

ログイン先や、ログアウト先のリダイレクト先を指定する。
sessions_controllerに追記。
protectedにしておいた方がよいかも。

app/controllers/sessions_controller.rb
protected
def after_sign_in_path_for(resource)
  root_path
end

def after_sign_out_path_for(resource)
  root_path
end
4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4