gpt4 book ai didi

ruby-on-rails - 管理员用户允许删除和编辑其他用户

转载 作者:数据小太阳 更新时间:2023-10-29 08:07:01 26 4
gpt4 key购买 nike

我的用户 Controller 有问题。目前admin用户可以删除自己,其他用户不能删除自己。此外,每个用户都可以自己编辑。

但是,我希望管理员用户可以删除和编辑自己和其他人。我要如何编辑用户 Controller ?

用户 Controller :

class UsersController < ApplicationController
before_action :logged_in_user, only: [:index, :edit, :update, :destroy,
:following, :followers]
before_action :correct_user, only: [:edit, :update]
before_action :admin_user, only: :destroy

def edit
@user = User.find(params[:id])
end

def destroy
User.find(params[:id]).destroy
flash[:success] = "Nutzer gelöscht"
redirect_to users_url
end


private

def user_params
params.require(:user).permit(:name, :capacity, :resource_id, :email, :password,
:password_confirmation)
end

# Before filters

# Confirms the correct user.
def correct_user
@user = User.find(params[:id])
redirect_to(root_url) unless current_user?(@user)
end

# Confirms an admin user.
def admin_user
redirect_to(root_url) unless current_user.admin?
end
end

感谢帮助! :)

最好的问候,菲利普

最佳答案

目前,before_action :correct_user, only: [:edit, :update] 阻止管理员进入编辑页面。修改 correct_user 方法来改变这个行为:

  # Confirms the correct user.
def correct_user
@user = User.find(params[:id])
redirect_to(root_url) unless current_user?(@user) || current_user.admin?
end

关于ruby-on-rails - 管理员用户允许删除和编辑其他用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42875023/

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