0
0

More than 1 year has passed since last update.

ユーザー管理機能(Devise)について

Posted at

deviseとは

webアプリケーションにおいて認証機能を実装するためのgemです。

導入方法

1. ターミナルにてcdコマンドを使い、作成しているAppのディレクトリ内に移動する

2. Gemfile内で追記する

.Gemfile
gem 'devise'

3.ターミナル内にてGemをインストール

.terminal
bundle install

gemをインストールした後はローカルサーバーを再起動する

4.deviseの設定ファイルを作成

.terminal
rails g devise:install

deviseのモデルを作成

1.モデルの作成

.terminal
rails g devise [モデル名]

2.テーブルに必要なカラムを追加
モデルを作成するとdb/migrateのディレクト内に先程生成したdeviseのモデルテーブルが生成されている。そのファイル内で追加を行う

ex)nicknameを文字列型、空なしにする場合

.db/migrate/20XXXXXXXXX_devise_create_***.rb
def change
    create_table :[***] do |t|
      t.string :email,              null: false, default: ""
      t.string :encrypted_password, null: false, default: ""
+     t.string :nickname,           null: false

3.データーベース設計したらマイグレーションを実行

.terminal
rails db:migrate

バリデーションの設定

.app/models/user.rb
+ validates :password
+ validates :nickname

バリデーションを設ける事で設定したカラムが空欄の時はデーターベースに保存されず、エラーを返す様に設定します。

ビューファイルを作成

1.ビューファイルを生成

.terminal
rails g devise:views

app/views/deviseのディレクト内に新規登録とログイン画面のviewファイルが自動に生成される

2.viewファイルを編集

  • registrationsは新規登録画面
  • sessionsはログイン画面
  • form_withプロパティなどを使いフォーム画面を作成します.
0
0
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
0
0