LoginSignup
0
1

More than 1 year has passed since last update.

ユーザ登録機能の実装(deviseを使用して説明)ビュー作成〜

Posted at

ビューの作成

deviseインストールからuserモデル作成までは下記の記事にて書かせていただきました。

今回はビューの作成を行います。

deviseでログイン機能を実装すると、ログイン/サインアップ画面が自動的に生成されます。
しかし、ビューはファイルは生成されていません。
なので、コマンドでビューファイルを生成します。

ターミナル .
rails g devise:views

ビューファイルが生成されました。
サインアップのビュー
app/views/devise/registrations/new.html.erb

ログインのビュー
app/views/devise/sessions/new.html.erb

コントローラーについて

ビューファイルができ、前記事でモデルを作成し、ルーティングの自動で生成される事を確認しました。
残るはコントローラーです。

deviseのコントローラーはGem内に記述されているため、編集することができません。
そのため、applicationコントローラーで記述します。
applicationコントローラーはコントローラー内での頂点です。全てはここから始まります。(言い切ってはいけない)

全てのコントローラーの1行目には下記が記述されています。

controller.rb
class HogeController < ApplicationController

applicationコントローラーでストロングパラメーターを設定します。

app/controllers/application_controller.rb
class ApplicationController < ActionController::Base
  before_action :configure_permitted_parameters, if: :devise_controller?

  private
  def configure_permitted_parameters
    devise_parameter_sanitizer.permit(:sign_up, keys: [:nickname, :birth_day])
  end
end

1つづつ確認していきます

before_action :configure_permitted_parameters, if: :devise_controller?

before_actionで全てのコントローラーの前に動き、またif: :devise_contoroller?でdeviseにまつわる事が起きたときに作動します。

private
  def configure_permitted_parameters
    devise_parameter_sanitizer.permit(:sign_up, keys: [:nickname, :birth_day])
  end
end

deviseにおけるストロングパラメーターです。deviseの「ログイン」「新規登録」などのリクエストからパラメーターを取得できます。

このメソッドとpermitメソッドを組み合わせることにより、deviseに定義されているストロングパラメーターに対し、追加したカラムも含めることができます。(email,passwordはすでに定義されているため)

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