Railsでdeviseを導入した際にストロングパラメータを設定する
1687 ワード
devise導入時にデフォルト以外のカラムをDBに追加する
deviseはあらかじめDBに保存できるカラムが決められている。
他のカラム情報をDBに保存する場合は、ストロングパラメーターの設定が別途必要になる。
その設定方法。
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: [:name]) ← 追加したいキー
end
end
application_controllerにbefore_actionに記述しているため、全てのアクションが実行される前に、 before_action :configure_permitted_parameters, if: :devise_controller?が実行される。
deviseのコントローラーから呼び出された場合は、configure_permitted_parametersメソッドが呼ばれる。
deviseではデフォルトでdevise_parameter_sanitizerメソッドが使える。deviseでユーザー登録をする場合に「特定のカラムを許容する」メソッド。
例として「nameカラム」を新たに追加する場合はこのメソッドを使用し、「name」キーの内容の保存を許可している。
Author And Source
この問題について(Railsでdeviseを導入した際にストロングパラメータを設定する), 我々は、より多くの情報をここで見つけました https://qiita.com/HIRO_u_c/items/f2d07351f10e06d91856著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .