Cara membangunkan sistem pengurusan blog ringkas menggunakan MySQL dan Ruby on Rails
Gambaran keseluruhan:
Artikel ini akan memperkenalkan cara membangunkan sistem pengurusan blog ringkas menggunakan MySQL dan Ruby on Rails. Sistem pengurusan blog ialah aplikasi web biasa yang membolehkan pengguna membuat, mengedit dan mengurus catatan blog. Kami akan menggunakan Ruby on Rails sebagai rangka kerja pembangunan dan MySQL sebagai sistem pengurusan pangkalan data. Kami akan menumpukan pada reka bentuk pangkalan data, penciptaan model, pembangunan pengawal dan pemaparan paparan. Contoh kod khusus akan diberikan dalam artikel.
Langkah 1: Persediaan persekitaran
Pertama, kita perlu memasang dan mengkonfigurasi Ruby on Rails dan MySQL. Saya tidak akan menerangkan secara terperinci tentang kaedah pemasangan khusus di sini Anda boleh merujuk kepada dokumentasi rasmi untuk operasi. Selepas pemasangan selesai, kami boleh mengesahkan sama ada pemasangan berjaya melalui baris arahan.
Langkah 2: Buat aplikasi Rails
Buat aplikasi Rails baharu menggunakan arahan berikut:
rails new blog cd blog
Langkah 3: Konfigurasi pangkalan data
Buka fail config/database.yml
dan cari bahagian pembangunan
dan ubah suainya kepada yang berikut: config/database.yml
文件,找到development
部分,并修改为以下内容:
default: &default adapter: mysql2 encoding: utf8mb4 pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %> username: your_username password: your_password host: localhost development: <<: *default database: blog_development test: <<: *default database: blog_test production: <<: *default database: blog_production username: blog password: <%= ENV['BLOG_DATABASE_PASSWORD'] %>
替换your_username
和your_password
为你的MySQL数据库的用户名和密码。
步骤四:创建数据库
运行以下命令来创建数据库:
rails db:create
步骤五:创建博客文章的模型和数据库表
运行以下命令来创建一个名为Post
的模型和数据库表:
rails generate model Post title:string content:text rails db:migrate
以上命令将在app/models
目录下创建post.rb
文件,以及在数据库中创建一个名为posts
的表,其中包含标题(title)和内容(content)两个字段。
步骤六:创建博客控制器
运行以下命令来创建一个名为Posts
的控制器:
rails generate controller Posts
以上命令将在app/controllers
目录下创建一个posts_controller.rb
文件。
步骤七:编写博客控制器的方法
打开app/controllers/posts_controller.rb
文件,在类中添加以下方法:
class PostsController < ApplicationController before_action :set_post, only: [:show, :edit, :update, :destroy] def index @posts = Post.all end def show end def new @post = Post.new end def edit end def create @post = Post.new(post_params) if @post.save redirect_to @post, notice: 'Post was successfully created.' else render :new end end def update if @post.update(post_params) redirect_to @post, notice: 'Post was successfully updated.' else render :edit end end def destroy @post.destroy redirect_to posts_url, notice: 'Post was successfully destroyed.' end private def set_post @post = Post.find(params[:id]) end def post_params params.require(:post).permit(:title, :content) end end
以上代码定义了博客控制器的各个动作,如index
、show
、new
、edit
、create
、update
和destroy
。这些动作分别用于展示所有博客文章、展示单篇博客文章、创建新的博客文章、编辑博客文章、保存博客文章的创建或编辑、更新博客文章以及删除博客文章。
步骤八:编写博客视图
打开app/views/posts
目录,创建以下文件:
index.html.erb
:用于显示所有博客文章的列表。show.html.erb
:用于显示单篇博客文章的详细内容。new.html.erb
:用于创建新的博客文章。edit.html.erb
:用于编辑博客文章。下面是一个简单的示例:
index.html.erb
<h1>Posts</h1> <% @posts.each do |post| %> <h2><%= link_to post.title, post %></h2> <p><%= post.content %></p> <% end %> <p><%= link_to 'New Post', new_post_path %></p>
show.html.erb
<h1><%= @post.title %></h1> <p><%= @post.content %></p> <%= link_to 'Edit', edit_post_path(@post) %> | <%= link_to 'Back', posts_path %>
new.html.erb
<h1>New Post</h1> <%= render 'form' %> <%= link_to 'Back', posts_path %>
edit.html.erb
<h1>Editing Post</h1> <%= render 'form' %> <%= link_to 'Show', @post %> | <%= link_to 'Back', posts_path %>
_form.html.erb
<%= form_with(model: post, local: true) do |form| %> <% if post.errors.any? %> <div id="error_explanation"> <h2><%= pluralize(post.errors.count, "error") %> prohibited this post from being saved:</h2> <ul> <% post.errors.full_messages.each do |message| %> <li><%= message %></li> <% end %> </ul> </div> <% end %> <div class="field"> <%= form.label :title %> <%= form.text_field :title %> </div> <div class="field"> <%= form.label :content %> <%= form.text_area :content %> </div> <div class="actions"> <%= form.submit %> </div> <% end %>
完成以上操作后,我们的简单博客管理系统就可以运行了。运行以下命令启动服务器,然后在浏览器中访问http://localhost:3000/posts
rails server
Langkah 4: Buat pangkalan data
Post
Jadual: 🎜rrreee🎜Arahan di atas akan mencipta fail post.rb
dalam direktori app/models
dan mencipta fail bernama posts dalam pangkalan data Jadual mengandungi dua medan: tajuk dan kandungan. 🎜🎜Langkah 6: Buat pengawal blog🎜Jalankan arahan berikut untuk mencipta pengawal bernama <code>Posts
: 🎜rrreee🎜Arahan di atas akan dibuat dalam direktori app/controllers
Fail posts_controller.rb
. 🎜🎜Langkah 7: Tulis kaedah pengawal blog 🎜Buka fail app/controllers/posts_controller.rb
dan tambahkan kaedah berikut pada kelas: 🎜rrreee🎜Kod di atas mentakrifkan setiap tindakan blog pengawal. Seperti app/views/posts
dan buat fail berikut: 🎜index.html.erb
: digunakan Memaparkan senarai semua catatan blog. show.html.erb
: digunakan untuk memaparkan kandungan terperinci satu catatan blog. new.html.erb
: digunakan untuk membuat catatan blog baharu. edit.html.erb
: digunakan untuk mengedit catatan blog. http://localhost:3000/posts
dalam penyemak imbas: 🎜rrreee🎜Ringkasan: 🎜Dalam artikel ini, kami membangunkan ringkasan menggunakan MySQL dan Ruby pada sistem pengurusan Blog Rails. Kami meliputi reka bentuk pangkalan data, penciptaan model, pembangunan pengawal dan pemaparan paparan. Melalui langkah-langkah di atas, anda boleh dengan cepat membina sistem pengurusan blog yang mudah dan seterusnya mengembangkan dan mengoptimumkannya. Saya harap artikel ini membantu anda memahami cara membangun dengan MySQL dan Ruby on Rails. 🎜Atas ialah kandungan terperinci Bagaimana untuk membangunkan sistem pengurusan blog yang mudah menggunakan MySQL dan Ruby on Rails. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!