管理员可以做任何事情[rails 4]

时间:2014-01-23 08:50:17

标签: ruby-on-rails ruby ruby-on-rails-4

我正在为我的应用实施用户建模。只有当前用户可以更新并销毁我放在用户控制器中的帐户:

before_action :correct_user,   only: [:edit, :update, :destroy]

但现在我也希望管理员可以做这些行动(他实际上可以做所有事情)

我建议在帮助程序admin_user中创建另一个函数,以允许他访问所有操作,然后在用户控制器中调用它,如:

before_action :admin_user
但似乎他忽视了它。有什么数学函数可以解决这个问题吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

如果correct_user是管理员,您可以定义current_user总是立即返回:

def correct_user
  return if current_user.admin?

  # put existing logic here
end