# Ruby on Rails 项目:项目管理工具 ## 概述 使用 Ruby on Rails 构建一个团队协作的项目管理工具。应用支持多用户注册、创建项目和管理任务,遵循 Rails 的“约定优于配置”原则。 ## 功能需求 ### 1. 用户认证 (Devise) - **注册/登录**: 支持用户创建账户、登录和注销。 - **个人资料**: 允许用户编辑自己的名字和头像。 ### 2. 项目模块 - **创建项目**: 登录用户可创建项目(名称、描述)。 - **项目列表**: 显示用户参与的所有项目。 - **项目主页**: 展示项目详情和相关任务列表。 - **项目成员**: 项目创建者可添加其他用户为成员。 ### 3. 任务模块 - **创建任务**: 在项目内创建任务(标题, 描述, 状态, 截止日期, 指派人)。 - **更新任务**: 更新任务的各个属性。 - **评论**: 支持对任务进行评论。 ### 4. 仪表盘 - **个人仪表盘**: 登录后显示指派给自己的任务和最近的项目活动。 ## 技术栈 - **语言**: Ruby 3.x - **框架**: Ruby on Rails 7.x - **数据库**: PostgreSQL - **认证**: `Devise` gem - **样式**: `Bootstrap` 或 `Tailwind 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:install` 和 `rails g devise User` 生成认证系统。 4. **数据库建模**: 使用 `rails g model` 创建 `Project`, `Task` 等模型,定义关联关系,然后运行 `rails db:migrate`。 5. **路由**: 在 `config/routes.rb` 中使用 `resources` 定义 RESTful 路由。 6. **控制器**: 创建 `ProjectsController` 和 `TasksController` 并实现 CRUD actions。 7. **视图**: 创建 ERB 视图文件来展示表单和列表。 8. **授权 (可选)**: 使用 `Pundit` 或 `CanCanCan` 管理用户权限。 9. **评论**: 实现任务的评论功能。 **先行任务**: 设计数据库模型关系图 (ERD) 和主要页面的线框图。