0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

deviseでデフォルトparameterを設定する方法

Posted at

チーム開発の新規ユーザー登録を実装中に陥った事例…あまり起こることはないと思うのですが、万が一のために!

#前提として
通常であれば、deviseを使用してuser登録を実装する場合のparameterはdeviseがデフォルトを持っているためapplication.controller.rbには以下の記述をすれば良いと思います。

application.contoller.rb
class ApplicationController < ActionController::Base
  before_action :configure_permitted_parameters, if: :devise_controller?

  protected

  def configure_permitted_parameters
    devise_parameter_sanitizer.permit(:sign_up, keys: [:nickname])
  end
end

しかし、今回deviseで作成はしたもののテーブル名をcreate_userにしてしまっている!
これではdeviseのデフォルト設定のままではでたを受け取ることができない為、こちらでparameterのformを修正してあげなければダメ!となりました!

参考にさせていただいたgithub

application.controller.rb
class ApplicationController < ActionController::Base
  before_action :configure_permitted_parameters, if: :devise_controller?

  protected
  def configure_permitted_parameters
    devise_parameter_sanitizer.permit(:sign_up) do |user_params|
      user_params.permit(:nickname, :email, :password, :password_confirmation)
    end
  end
end

こちらで無事、保存できるようになりました!

あまり起こる事例ではないと思いますが良い経験をしたなと!

0
0
1

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?