行动前的Rails检查管理员

时间:2016-08-06 20:44:44

标签: ruby-on-rails

我安装了devise并且我已经在用户表中添加了一个记录或列(我不知道如何调用它)一个admin:boolean并且默认情况下它是假的

在我的routes.rb中,我创建了这个/ admin链接

get 'admin' => 'admin#index'

我不知道如何仅为管理员显示它

class AdminController < ApplicationController
  before_action: I have no idea what to write here

  def index
  end

end

1 个答案:

答案 0 :(得分:4)

在您的控制器中尝试这样:

class AdminController < ApplicationController
    before_action :is_admin?

  def index

  end


    # it will call before every action on this controller
    def is_admin?
      # check if user is a admin
      # if not admin then redirect to where ever you want 
      redirect_to root_path unless current_user.admin? 
    end

end