定义管理员 Rails

Defining Admins Rails

如何定义用户和管理员之间的方法?我正在为我的用户使用 Omniauth Twitter,但我想确保用户如果不是管理员则无法执行某些操作。我已经捆绑了 gem 活动管理员,但因为我没有使用设备,任何用户当前都可以访问管理仪表板。

如果是我,我会在您的 User 模型上创建一个 role 属性,并将其默认为 "customer" 或任何默认用户,但可以设置某些用户的角色 "admin"。您应该能够使用 Active Admin 的编辑页面进行设置。比在您的用户模型上创建一个自定义方法,或者创建一个辅助方法,无论您喜欢什么……就像:

def admin?
  if self.role == "admin"
    true
  else
   false
end

这样您就可以在 user.admin? if 语句中包装敏感信息(例如仪表板上的信息)。

if user.admin?
  ..display stuff..
end

或者看看这个:http://activeadmin.info/docs/13-authorization-adapter.html