自分用としてのメモを残します
####1 Gemfileに gem 'devise' を記述
→ $ bundle install
次にインストールしたdeviseをセットアップ
→ $ rails g devise:install
これでdeviseを使う準備が整いました。
####2 ユーザーのテーブルを作成する
とりあえずUserでモデルを作るとします
→ $ rails g devise User
マイグレーションファイルを確認してみるとデフォルトでまあいろいろと
書かれていますがpasswordやemail等必要であれば自分で記述していく
######例えば、機能として住所を入れたいと思ったときは、
→ string型のaddressカラムを作成... t.string :address を追加!
追加が終わったら...
「 $ rails db:migrate 」これは絶対に忘れないようにしよう!!!!
---
-
config/routes.rb を確認してみると devise_for :users が自動生成せれてるよ
-
app/models/user.rb を確認してみると
devise :database_authenticatable, :registerable, :recoverable, :rememberable, :validatable
:database_authenticatable(パスワードの正確性を検証)
:registerable(ユーザ登録や編集、削除)
:recoverable(パスワードをリセット)
:rememberable(ログイン情報を保存)
:validatable(emailのフォーマットなどのバリデーション)
####3 deviseの設定をする
初期設定ではemailとpasswordが設定されているので追加したい場合はここでいじります。
app/controllers/application_controller.rb 内に
before_action :configure_permitted_parameters, if: :devise_controller?
protected
def configure_permitted_parameters
devise_parameter_sanitizer.permit(:sign_up, keys: [:@@@])
end
*@はカラム名を設定してください
viewを弄りたい場合には
→ $ rails g devise:views を実行
ログイン画面、登録画面をそれぞれ変更箇所を変える
(form_forが使用せれているがform_with model: @... と変えておこう)
とりあえず導入から初期設定まで... また管理者機能についてもかなり難航したのでかけたらいいなと思います。