LoginSignup
1
0

More than 5 years have passed since last update.

Devise カラムを追加した時にundefined method `for' for #<Devise::ParameterSanitizerになったときの対処法

Last updated at Posted at 2016-10-02

deviseでUserモデルなどに新しいカラム(今回はusernameを例にとる)を追加し、サインアップで用いるとき
application.controller.rbに以下の記述が必要だった。

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

このやり方だと最新版のdeviseは仕様が変わっており、エラーになってしまうので
application.controller.rbに上記の記述に代わって以下の記述が必要。

before_filter :configure_permitted_parameters, if: :devise_controller?

protected

def configure_permitted_parameters
devise_parameter_sanitizer.permit(:sign_up){|u|
u.permit(:username,:email, :password, :password_confirmation)
}
end

はまった。

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