OKADA LABO

devise4.2 strongパラメータの記述ルールが変わった

たとえば、deviceの新規登録画面で、nicknameカラムを追加する場合
dbに nicknameカラム作ったら
view/device/registration/new.html.erbで

<%= f.label :nickname %> (6 characters maximum)
<%= f.text_field :nickname, autofocus: true, maxlength: "6" %>

フィールドを追加してから

application_controller.rbに
device専用ストロングパラメータでうけとりますが

今までは

before_action :configure_permitted_parameters, if: :devise_controller?
def configure_permitted_parameters
 devise_parameter_sanitizer.for(:sign_up) << :nickname
end

4.2から

before_action :configure_permitted_parameters, if: :devise_controller?
def configure_permitted_parameters
 devise_parameter_sanitizer.permit(:sign_up, keys: [:nickname])
end

と記述方法が変更になった。