定义管理员路轨

时间:2015-03-25 21:26:06

标签: ruby-on-rails activeadmin

如何在用户和管理员之间定义方法?我正在为我的用户使用Omniauth Twitter,但有些操作我想确保用户不是管理员就无法做到。我已经捆绑了gem主动管理员,但由于我没有使用设计,任何用户当前都可以访问管理仪表板。

1 个答案:

答案 0 :(得分:0)

如果是我,我会在您的用户模型上创建一个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