0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

deviseまとめ 備忘録

Posted at

はじめに

初投稿です。
現在、プログラミングを勉強しています。
備忘録やアウトプットとして投稿していきたいと思います。
誤った内容のものもあると思います。その際はご指摘いただけると幸いです。

目次

・ deviseとは
・ 導入手順
・ よく使用するメソッド

deviseとは

ユーザー管理機能を簡単に実装することができるgemです。
実際に多くのアプリケーションで使用されています。

導入方法

1,Gemfileに以下の記述を記載する。

gem 'devise'

2,ターミナルにてbundle installを実行。実行後サーバーの再起動をする。
3,rails g devise:installを実行し、deviseに必要な設定関連ファイルを作成する。
※「:」が抜けると設定関連ファイルではなくモデルが作成されてしまうので注意

% bundle install
% rails g devise:install

4、モデルの作成
rails g devise: モデル名を実行後、マイグレーションファイルに追加するカラムを記載し、
rails db:migrateを実行。

% rails g devise モデル名
% rails db:migrate

5、コントローラー・ビューの作成
deviseのgem内にある既存ファイルを読み込んでいるため表示されない。
設定に変更を加える場合には以下のコマンドを実行。

rails g devise:views
rails g devise:controller コントローラー名

よく使用するメソッド

以下のメソッドはdeviseを導入することにより使用することが可能になるメソットです。
そのうちよく使用するメソッドをまとめました。

authenticate_user!

ログイン状態によって表示するページを切り替えるメソッド。
処理が呼ばれた段階で、ユーザーがログインしていなければ、そのユーザーをログイン画面に遷移させる。

current_user

現在ログインしているユーザーの情報を取得できる。

devise_controller?

deviseに関する処理が行われたときtrueを返す。
基本的にifと合わせて使用することが多い。

user_signed_in?

ユーザーがサインインしている場合にtrueを返す。
基本的にifと合わせて使用することが多い。

devise_parameter_sanitizer

deviseにおけるparamsのようなメソッド
このメソッドとpermitメソッドを組み合わせることにより、deviseに定義されているストロングパラメータに対し、自分で指定したカラムを追加することができる。

def configure_permitted_parameters  # メソッド名は慣習
  devise_parameter_sanitizer.permit(:deviseの処理名, keys: [:許可するキー])
end

deviseの処理名
:sign_in ログイン
:sign_up 新規登録
:account_update アカウント更新

0
0
1

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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?