備忘録

覚えておきたい技術とかやりたいこととかやってることとか。

Rails5におけるdevise_parameter_sanitizer.forエラー

deviseではデフォルトでemailとpasswordの値しか保存できないが、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: [:name])
  end
end

ちなみにこれはrails5での処理。
rails4までだと

      devise_parameter_sanitizer.permit(:sign_up, keys: [:name])

のところを

      devise_parameter_sanitizer.for(:sign_up) << :name

と書くらしい。

Rails5で「forってメソッドしらん!」と怒られたのでメモ。