この記事でやりたいこと
deviseに下記のカスタマイズを加える。
- 新たなカラムを追加する
- userページを作成する
新たなカラムを追加する
migartion
Strong Parametersの設定も
deviseでは自動的にStrong Parametersの設定がされているため、新しいカラムを設定する場合、こっちの設定もしないと弾かれます。Strong Parametersについては下記が詳しい。簡単に言うと指定したparams以外を弾くようにする仕組みです。
ドキュメントはここ
modelの追加は普通に行い、下記を記述してStrong Parametersを許可する。
ApplicationController
class ApplicationController < ActionController::Base
before_action :configure_permitted_parameters, if: :devise_controller?
protected
def configure_permitted_parameters
devise_parameter_sanitizer.permit(:sign_up, keys: [:username])
end
end
userページを作成する
マイページみたいなものを作ろうとした場合、できないわけではないのですがuser/配下でdeviseがいろいろ自動的に作っているのでuser/〜でルーティング設定する場合はそことバッティングしないように気をつけないといけません。
$ rake routes
でルーティングを調べてdeviseで使われていないことを確認してそこにルートを設定するようにしましょう。