LoginSignup
0
0

Rails | deviseのUserにnameを追加する方法

Posted at

Ruby on Rails の Gemである deviseを利用し、
Userモデルに nameカラムを追加する方法。

deviseのインストール

1️⃣ Gemfileに gem 'devise' を追記
2️⃣ bundle install コマンドを実行
3️⃣ rails g devise:install コマンドを実行

deviseの Userに nameを追加

1️⃣ rails g devise User コマンドを実行
2️⃣ deviseのコントローラー自体は編集することができない。
  そのため、application_controller.rbを以下のように記載

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


コード解説

✴️ before_action
 アクションを実行する前に行う処理

✴️ if: :devise_controller?
 if: は、before_action 等の節で ifが必要な場合の書き方
 :devise_controller? は、devise Gemによって提供されているメソッド

✴️ protected
 private以下はクラス内からしかアクセスできない。
 レシーバを指定して呼び出すことができない。
 protected以下はクラス内とサブクラス内からアクセスできる。
 レシーバを指定して呼び出すことができる。

✴️ devise_parameter_sanitizer.permit
 deviseが提供するメソッド。このメソッドを使って、devise のビューからコントローラーへ送信されるパラメーターをフィルタリングする。

✴️ :sign_up
 deviseのアクション名

✴️ keys: [:name]
 キー:[:新たに許可するキー]

参考記事

https://qiita.com/nagao-koyanagi/items/0607cbbb3af812c60141
https://qiita.com/kaito121855/items/e1a80da8557258c497dc

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