LoginSignup
0
0

More than 3 years have passed since last update.

devise導入したときのカラムの増やし方

Last updated at Posted at 2020-05-14

悩み事

devise導入したらデフィルトでemailとpasswordしか入ってないじゃん、、、、
usersテーブルにnameやaddressカラムとかも追加したいのにどうすればいいかわからない!!

ってこと一度はありますよね。

今回はそのお悩み解決いたします!!

1.usersテーブルにカラムを追加

今回はnameカラムを追加してみようと思うので、
以下のようにターミナルでコマンドを実行しましょう。

$ rails g migration AddNameToUsers name:string

$ rails db:migrate

2.application_controller.rbを編集

application_controller.rbを以下のように編集しましょう。
これでユーザー登録時にnameカラムが保存されるようになります。

app/controllers/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, keys: [:name])
  end
end

今の状態でuser情報を登録するとnameカラムも追加されてるしいい感じだ!!
と安堵するのはまだ早いのです。。。

今のままでは登録時にしかnameカラムが入っていないので、編集でnameを変更しても変更されません。
不完全な状態です。

3.完全感覚dreamer

じゃあ編集時に追加したカラムの編集もしっかりとできるようにしましょう!
とはいえとても簡単です。

app/controllers/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, keys: [:name])
    <!-- 以下のように編集時の対応する記述も追加してあげましょう -->
    devise_parameter_sanitizer.permit(:account_update, keys: [:name])
  end
end

これでバッチリです!!
以上!

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