我正在开发一个rails应用程序,我想让用户只编辑他们的一些信息,比如姓名或个人信息,但我希望管理员用户能够编辑每件事。有没有人帮我这个?
答案 0 :(得分:0)
感谢@tadman这就是我提出的
def user_params_UserEdit
if current_user?(@user)
params.require(:user).permit( :password,
:password_confirmation)
elsif current_user.admin?
params.require(:user).permit(:name, :email, :password,
:password_confirmation, :admin, :personel_number)
end
end
和更新:
def update
@user = User.find(params[:id])
if @user.update_attributes(user_params_UserEdit)
flash[:success] = "Profile updated"
redirect_to root_url
else
render 'edit'
end
end
它与我合作你觉得怎么样?
答案 1 :(得分:0)
您可以将cancan功能用于此目的。它很干净,并提供许多功能来添加/修改权限。
看看
https://github.com/ryanb/cancan
还有一个如何使用它的教程
http://railscasts.com/episodes/192-authorization-with-cancan