ユーザー管理機能の実装(2)


今回も、引き続きユーザー管理機能の実装を行なっていきたいと思います!
1~7の手順で進めていきます
(2)では3.viewファイルの追加を行います
*(1)はこちらhttps://qiita.com/yni_se/items/482b992c748e134b3b03

目次

  1. deviseのインストール
  2. Userモデルの作成
  3. deviseのviewファイルの追加 ←いまココ!
  4. サインアップ機能の追加 ←いまココ!
  5. ユーザー情報編集機能の追加
  6. ログアウト機能の追加
  7. フラッシュメッセージの表示機能の実装

3.deviseのviewファイルの追加

まず初めに、deviseのviewファイルを追加するためのディレクトリと作成しましょう!
作成するディレクトリは2つです
devise
users
さらに、deviseディレクトリには、以下の3つのディレクトリを作成しましょう!
registrations
sessions
shared
ディレクトリが作成できたら、viewファイルを追加し、内容を記述していきましょう!
devise/registrations
new.html.haml
 →新規アカウント作成ページ
devise/sessions
new.html.haml
 →ログインページ
devise/shared
_links.html.haml
 →LoginとSign upへのリンク
users
edit.html.haml
 →アカウント編集ページ

4.サインアップ機能の追加

続いて、サインアップ機能を追加していきます!

deviseのデフォルト機能では、メールアドレスパスワードを入力してユーザー登録を行うようになっています
ここに名前も合わせてサインアップする仕様を実装するには、ビューファイルの作成ユーザー情報の保存に必要な機能の実装が必要になります
ビューファイルは、"shared/link"に作成しておきます
次に、ユーザー情報を保存するためにapplication_controller.rbの編集を行います

application_controller.rb
class ApplicationController < ActionController::Base
  protect_from_forgery with: :exception
  before_action :authenticate_user!
  before_action :configure_permitted_parameters, if: :devise_controller?

  protected

  def configure_permitted_parameters
    devise_parameter_sanitizer.permit(:sign_up, keys: [:name])
  end
end

before_actionを使用することにより、すべてのアクションが実行される前に、2つのアクションが実行されます
protected以下でconfigure_permitted_parametersメソッドが定義されていて、ここではdevise_parameter_sanitizerメソッドが使用できるようになっています
これは、ストロングパラメーターに当たる機能です!
サインアップを行う時に、入力されたnameキーの内容の保存を許可しています

ここまでできたら、サインアップのURLパターンを使ってビューが表示されることを確認してみましょう
今日はここまで!
次回(3)は、"ユーザー情報編集機能の追加"について解説していきます
お疲れさまでした!