LoginSignup
2
2

More than 3 years have passed since last update.

deviseで複数モデルを管理

Posted at

deviseで複数のモデルを管理

最近、ECサイトを開発するにあたり、出てきたユーザーのログイン機能実装。

ですが、ECサイトのようなユーザーとは別な使用(今回でいう注文の確認と新規商品等の確認)をする管理者もログインが必要になる場合、どうしたらいいかということで下記サイトを参考にしました!

ここからは自分の頭を整理するために流れを簡潔にまとめて見ました。

rails g devise:install

config/initializers配下にdevise.rb が追加される。

最後の

config.scoped_views = true

に変更してコメントアウト。
このファイル他にもコメントされている部分があってなんかすごい大事そうな気配がしたので、それぞれの意味を調べて見ました!
下記がとてもわかりやすくまとめてありました!

どうやらここではdeviseのviewsの編集を許可する意味の記載らしい。
またちょいちょい目にするscopeはとりあえず範囲という意味で把握すれば良いらしい。

あとはそれぞれdeviseと関連付けたいモデルとコントローラーを生成する。

 rails g devise "関連づけたいモデル名"
 rails g devise:controllers "関連づけたモデルと連動するコントローラー名(s)"
 rails g devise:views

 ルーティングの設定

現状のままだと全て同じコントローラー経由になってしまう。
ルーティングをいじらないとだめということで、

devise_for :models, controller: {
 sessions: "models/sessions",
 passwords: "models/passwords"
 registrations: "models/registration"
 }

みたいな感じで記載する。

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