食べられません

プログラミングとか漫画とか生活とか

devise group

Railsでよく使う認証のgem。知らない人いないのでは。

今回ちょっと面倒な感じのログイン仕様でdeviseの中ずっと調べてたんだけど 3.3.0で追加されたらしい機能使ったのでメモ。

複数のモデル(Roleではなく)でログイン出来る作りのとき [:user, :staff, :admin]の3モデルあったとしたら

before_action :authenticate_user!
before_action :authenticate_staff!
before_action :authenticate_admin!

みたいな感じでそれぞれ書いてたと思うんだけど、それを

devise_group :blogger, contains: [:user, :staff, :admin]
before_action :authenticate_blogger!

って書けちゃう。楽ちん。 ログインしてるデータを取得するときも、いつものdeviseの感じで current_bloggerってやれば取得出来る。

こんな仕様にならない様に作ったほうが良いと思うんだけどねぇ…