有没有办法使用"before_filter:authenticate_user!" 和表中的布尔值一起?

ale*_*nco 5 ruby-on-rails devise

我正在使用Devise.我adminusers表格中添加了一个布尔列:

class AddAdminToUsers < ActiveRecord::Migration
  def self.up
    add_column :users, :admin, :boolean, :default => false
  end

  def self.down
    remove_column :users, :admin
  end
end
Run Code Online (Sandbox Code Playgroud)

我想只允许管理员销毁用户.Devise的before_filter :authenticate_user!工作原理是只允许已登录的用户执行操作.有没有办法添加一些东西,:authenticate_user以便只有用户:admin => true可以执行一个动作(例如,销毁行动)?

ant*_*iqe 6

before_filter :authenticate_user!
before_filter :is_admin?

def is_admin?
  if current_user.admin?
    true
  else
    render :text => 'Who are you to doing this? :)'
  end
end
Run Code Online (Sandbox Code Playgroud)