##ビューの作成##
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行目には下記が記述されています。
class HogeController < ApplicationController
applicationコントローラーでストロングパラメーターを設定します。
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はすでに定義されているため)
Comments
Let's comment your feelings that are more than good