ruby-on-rails.md 2.4 KB

Ruby on Rails 项目:项目管理工具

概述

使用 Ruby on Rails 构建一个团队协作的项目管理工具。应用支持多用户注册、创建项目和管理任务,遵循 Rails 的“约定优于配置”原则。

功能需求

1. 用户认证 (Devise)

  • 注册/登录: 支持用户创建账户、登录和注销。
  • 个人资料: 允许用户编辑自己的名字和头像。

2. 项目模块

  • 创建项目: 登录用户可创建项目(名称、描述)。
  • 项目列表: 显示用户参与的所有项目。
  • 项目主页: 展示项目详情和相关任务列表。
  • 项目成员: 项目创建者可添加其他用户为成员。

3. 任务模块

  • 创建任务: 在项目内创建任务(标题, 描述, 状态, 截止日期, 指派人)。
  • 更新任务: 更新任务的各个属性。
  • 评论: 支持对任务进行评论。

4. 仪表盘

  • 个人仪表盘: 登录后显示指派给自己的任务和最近的项目活动。

技术栈

  • 语言: Ruby 3.x
  • 框架: Ruby on Rails 7.x
  • 数据库: PostgreSQL
  • 认证: Devise gem
  • 样式: BootstrapTailwind CSS
  • 代码结构: 标准 Rails MVC

项目结构

/project-manager
├── app/
│   ├── controllers/      # 控制器
│   ├── models/           # 模型 (User, Project, Task, Comment)
│   └── views/            # 视图
├── config/routes.rb      # 路由
├── db/migrate/           # 数据库迁移
└── Gemfile

任务步骤

  1. 初始化: 运行 rails new project-manager -d postgresql
  2. 添加Gems: 在 Gemfile 中添加 devise 等,然后 bundle install
  3. Devise设置: 运行 rails g devise:installrails g devise User 生成认证系统。
  4. 数据库建模: 使用 rails g model 创建 Project, Task 等模型,定义关联关系,然后运行 rails db:migrate
  5. 路由: 在 config/routes.rb 中使用 resources 定义 RESTful 路由。
  6. 控制器: 创建 ProjectsControllerTasksController 并实现 CRUD actions。
  7. 视图: 创建 ERB 视图文件来展示表单和列表。
  8. 授权 (可选): 使用 PunditCanCanCan 管理用户权限。
  9. 评论: 实现任务的评论功能。

先行任务: 设计数据库模型关系图 (ERD) 和主要页面的线框图。