1
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.

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

Posted at

今回も、引き続きユーザー管理機能の実装を行なっていきたいと思います!
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)は、**"ユーザー情報編集機能の追加"**について解説していきます
お疲れさまでした!

1
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
1
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?