手順
% cd ~/projects
% rails 6.0.0 new (プロジェクト名) -d mysql ⏪ 新規プロジェクト作成
% cd (プロジェクト名) ⏪ そのプロジェクトフォルダに移動
% rails db:create ⏪ データベース作成
※ この後、必要に応じてencoding: utf8mb4をencoding: utf8へ変更したり、README.mdを作成したり
ユーザー管理機能
① Gemfileにdeviseを記述し、bundle install
② rails g devise:installでdeviseをインストール
③ rails g devise userでUserモデル作成 ※rails g model userではないため注意
④ マイグレーションファイルに必要なカラムを記述
Eメール、パスワード以外にex.名前等
記述の仕方 ex. t.string :name, null: false
※null: falseはNullを許容しない
⑤ rails db:migrate Usersテーブルができる。これをやらず起動させてもエラーになる可能性あり
Userモデル
バリデーション、アソシエーションの設定
-
アソシエーション
has_many(one) :(モデル名) manyなら複数形が望ましい
belongs_to :(モデル名) -
バリデーション
validates :(カラム名), presence: true ※ presence: trueは空白を許容しないということ
⑥ rails g devise:viewsでViewファイル作成
⑦ application_controllerに登録時の設定
before_action :configure_permitted_parameters, if: :devise_controller?
private
def configure_permitted_parameters
devise_parameter_sanitizer.permit(:sign_up, keys: [:name, :profile, :occupation, :position])
end
のように書く
keysの中身はemail, password以外