Rails博客系统实战 #
一、项目概述 #
1.1 功能需求 #
| 功能 | 说明 |
|---|---|
| 用户认证 | 注册、登录、登出 |
| 文章管理 | CRUD操作 |
| 评论系统 | 评论文章 |
| 分类管理 | 文章分类 |
1.2 技术栈 #
- Rails 7.1
- PostgreSQL
- Devise
- Bootstrap
二、项目创建 #
2.1 创建项目 #
bash
rails new blog --database=postgresql
cd blog
2.2 安装依赖 #
ruby
# Gemfile
gem 'devise'
gem 'kaminari'
gem 'bootstrap'
三、模型设计 #
3.1 用户模型 #
bash
rails generate devise User
3.2 文章模型 #
bash
rails generate scaffold Article title:string body:text user:references category:references
3.3 评论模型 #
bash
rails generate model Comment body:text article:references user:references
四、实现步骤 #
4.1 用户认证 #
ruby
# 安装Devise
rails generate devise:install
rails generate devise User
4.2 文章管理 #
ruby
# app/controllers/articles_controller.rb
class ArticlesController < ApplicationController
before_action :authenticate_user!, except: [:index, :show]
before_action :set_article, only: [:show, :edit, :update, :destroy]
def index
@articles = Article.page(params[:page]).per(10)
end
def show
@comment = @article.comments.build
end
def create
@article = current_user.articles.build(article_params)
if @article.save
redirect_to @article, notice: '文章创建成功'
else
render :new
end
end
private
def set_article
@article = Article.find(params[:id])
end
def article_params
params.require(:article).permit(:title, :body, :category_id)
end
end
五、总结 #
5.1 核心要点 #
| 要点 | 说明 |
|---|---|
| Devise | 用户认证 |
| Scaffold | 快速生成 |
| 关联 | 用户-文章-评论 |
5.2 下一步 #
现在你已经完成了博客系统,接下来让我们学习 RESTful API,深入了解Rails的API开发实战!
最后更新:2026-03-28