如何隐藏用户的某些页面并仅显示给管理员?

时间:2012-12-29 16:04:45

标签: ruby-on-rails ruby-on-rails-3

我已经安装了Activ Admin gem但不确定它会有任何帮助。我有一些页面,我想隐藏不被匿名和一些登录用户看到。我该怎么做 ?

我确信在RoR中必须有ACL宝石,但我不确定哪种标准和首选方式可以做到?任何帮助?感谢

1 个答案:

答案 0 :(得分:1)

我不熟悉Active Admin但是, 假设您已经有办法确定用户是否已登录(并且您有办法解决current_user),您可以执行以下操作:

在你的控制器中(或在你的sessionhelper中)

def admin_users_only
  unless current_user.admin? redirect_to "wherever you want to redirect to"
end

在同一个控制器中

before_filter :admin_users_only, only: [:index, :or, :any, :other]

(当然您的用户模型需要管理员属性)