shibuso.net

プログラミングとかゲームとか

Devise でユーザと管理者を分けて扱う

2013年02月06日 | タグ: Rails

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

かくいう私はまだ目を通せておりません…。