Devise でユーザと管理者を分けて扱う
Rails で認証機能を入れようとした時に有名なgem はDevise ですよね。最近始めたばかりだからあまり分からないけどきっとそうだ、そうに違いない。…まぁともかく、Devise に最近触れているのですが、ユーザとは別に管理者用のテーブル作ってそっちは管理者のみ入れるようにしたい、という状況になりました。
基本的な導入方法はまぁそこら辺のウェブページなりを見てもらうとして、
rails g devise user
rails g devise admin
みたいな感じで分ければ良いってのは大体分かりますよね。
でもこの先で引っかかって、view を
rails g devise:views
で作ったら、両方とも同じview を見てしまったんですよ。
昨日に続いてぐぐりました。というかプログラミングしててぐぐらない日は無いです。あれこれ探してみたのですが、大概ユーザテーブルに管理者フラグ立てる方法ばかりだったんですよね。その方法も考えはしましたが、今回それは使いたくなかったので上記の方法に拘りました。
そして結果的に見つかりました、この解決方法。見つけたというか、Devise の公式wiki に書いてありました'`,、 ( ´∀`) '`,、
y=ー( ゚д゚)・∵. ターン
rails g devise:views user
みたいな感じでview も分けられたんですね、盲点でした。その他諸々親切に解説が書かれているので、一度目を通すべきですね。https://github.com/plataformatec/devise#configuring-multiple-models
かくいう私はまだ目を通せておりません…。