gpt4 book ai didi

ruby-on-rails - 修改 before_action

转载 作者:行者123 更新时间:2023-12-04 06:07:00 24 4
gpt4 key购买 nike

我的用户模型中有一个 admin:boolean 字段,并且希望能够在用户是管理员之前检查我的 Controller ,然后才能编辑任何内容。

如何修改 before_action :authenticate_user!, only: [:edit] 以检查用户是否为管理员?

最佳答案

您可以添加另一个将在 authenticate_user 之后调用的 before 操作!检查当前用户是否有管理员权限。

class YourController
# first call authenticate_user! to check if user is signed in
before_action authenticate_user!, only: [:edit]
# if user is signed (current_user exist), check if he is admin
before_action authenticate_admin!, only: [:edit]

def authenticate_admin!
# check if current user is admin
unless current_user.admin
# if current_user is not admin redirect to some route
redirect_to 'some_public_route'
end
# if current_user is admin he will proceed to edit action
end
end

关于ruby-on-rails - 修改 before_action,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27111564/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com