tkymtk's blog

Ruby on Rails及びその周辺について調べたこと。Do whatever you want to do at your own pace.

ActiveAdmin と Devise で ActiveAdmin の before filter

やりたいこと

Book リソースの操作。 ActiveAdminで作成したユーザ以外は indexshowアクションにしかアクセスできないようにしたい。

コード

class BooksController < ApplicationController
  before_action :require_admin_user, except: [:index, :show]
  …

  private 

    def require_admin_user
      redirect_to root_url  unless admin_user_signed_in?
    end
end

備忘録

  • ActiveAdminは AdminUserというモデルを作る。
  • AdminUserというモデルのヘルパーメソッドはadmin_userがつく形になる。
間違いがあれば、ご指摘下さると幸いです。