Rumah > pangkalan data > tutorial mysql > Bagaimana untuk membangunkan sistem pengurusan blog yang mudah menggunakan MySQL dan Ruby on Rails

Bagaimana untuk membangunkan sistem pengurusan blog yang mudah menggunakan MySQL dan Ruby on Rails

王林
Lepaskan: 2023-09-20 09:57:17
asal
1198 orang telah melayarinya

如何使用MySQL和Ruby on Rails开发一个简单的博客管理系统

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
Salin selepas log masuk

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'] %>
Salin selepas log masuk

替换your_usernameyour_password为你的MySQL数据库的用户名和密码。

步骤四:创建数据库
运行以下命令来创建数据库:

rails db:create
Salin selepas log masuk

步骤五:创建博客文章的模型和数据库表
运行以下命令来创建一个名为Post的模型和数据库表:

rails generate model Post title:string content:text
rails db:migrate
Salin selepas log masuk

以上命令将在app/models目录下创建post.rb文件,以及在数据库中创建一个名为posts的表,其中包含标题(title)和内容(content)两个字段。

步骤六:创建博客控制器
运行以下命令来创建一个名为Posts的控制器:

rails generate controller Posts
Salin selepas log masuk

以上命令将在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
Salin selepas log masuk

以上代码定义了博客控制器的各个动作,如indexshowneweditcreateupdatedestroy。这些动作分别用于展示所有博客文章、展示单篇博客文章、创建新的博客文章、编辑博客文章、保存博客文章的创建或编辑、更新博客文章以及删除博客文章。

步骤八:编写博客视图
打开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>
Salin selepas log masuk

show.html.erb

<h1><%= @post.title %></h1>
<p><%= @post.content %></p>

<%= link_to 'Edit', edit_post_path(@post) %> |
<%= link_to 'Back', posts_path %>
Salin selepas log masuk

new.html.erb

<h1>New Post</h1>

<%= render 'form' %>

<%= link_to 'Back', posts_path %>
Salin selepas log masuk

edit.html.erb

<h1>Editing Post</h1>

<%= render 'form' %>

<%= link_to 'Show', @post %> |
<%= link_to 'Back', posts_path %>
Salin selepas log masuk

_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 %>
Salin selepas log masuk

完成以上操作后,我们的简单博客管理系统就可以运行了。运行以下命令启动服务器,然后在浏览器中访问http://localhost:3000/posts

rails server
Salin selepas log masuk
Ganti nama_pengguna_anda dan kata laluan_anda dengan nama pengguna dan kata laluan pangkalan data MySQL anda.


Langkah 4: Buat pangkalan data

Jalankan arahan berikut untuk mencipta pangkalan data: 🎜rrreee🎜Langkah 5: Buat model dan jadual pangkalan data untuk catatan blog 🎜Jalankan arahan berikut untuk mencipta model dan pangkalan data bernama 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 indeks, tunjukkan, baru, edit, buat, kemas kini dan musnahkan. Tindakan ini digunakan untuk memaparkan semua catatan blog, memaparkan satu catatan blog, mencipta catatan blog baharu, mengedit catatan blog, menyimpan penciptaan atau menyunting catatan blog, mengemas kini catatan blog dan memadamkan catatan blog. 🎜🎜Langkah 8: Tulis paparan blog 🎜Buka direktori 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.
🎜Berikut ialah contoh mudah: 🎜🎜index.html.erb🎜rrreee🎜show.html.erb🎜rrreee🎜new.html.erb🎜rrreee🎜edit.html.erb🎜rrreee🎜 .html.erb🎜rrreee🎜Selepas menyelesaikan operasi di atas, sistem pengurusan blog mudah kami sedia untuk dijalankan. Jalankan arahan berikut untuk memulakan pelayan, dan kemudian lawati 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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan