Rails用户管理系统实战 #

一、项目概述 #

1.1 功能需求 #

功能 说明
用户CRUD 增删改查
角色管理 管理员、普通用户
权限控制 Pundit授权

二、实现步骤 #

2.1 用户模型 #

ruby
# app/models/user.rb
class User < ApplicationRecord
  enum role: { user: 0, admin: 1 }
  
  devise :database_authenticatable, :registerable,
         :recoverable, :rememberable, :validatable
end

2.2 控制器 #

ruby
# app/controllers/admin/users_controller.rb
module Admin
  class UsersController < BaseController
    def index
      @users = User.all
    end
    
    def update
      @user = User.find(params[:id])
      authorize @user
      
      if @user.update(user_params)
        redirect_to @user, notice: '更新成功'
      end
    end
    
    private
    
    def user_params
      params.require(:user).permit(:email, :role)
    end
  end
end

三、总结 #

3.1 核心要点 #

要点 说明
enum 角色枚举
Pundit 权限控制
namespace 管理后台

3.2 下一步 #

现在你已经完成了用户管理系统,接下来让我们学习 电商后台,深入了解Rails的电商系统实战!

最后更新:2026-03-28