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