Heim  >  Artikel  >  Datenbank  >  So entwickeln Sie ein einfaches Blog-Verwaltungssystem mit MySQL und Ruby on Rails

So entwickeln Sie ein einfaches Blog-Verwaltungssystem mit MySQL und Ruby on Rails

王林
王林Original
2023-09-20 09:57:171150Durchsuche

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

So entwickeln Sie ein einfaches Blog-Verwaltungssystem mit MySQL und Ruby on Rails

Übersicht:
In diesem Artikel wird vorgestellt, wie Sie ein einfaches Blog-Verwaltungssystem mit MySQL und Ruby on Rails entwickeln. Ein Blog-Management-System ist eine gängige Webanwendung, mit der Benutzer Blogbeiträge erstellen, bearbeiten und verwalten können. Wir werden Ruby on Rails als Entwicklungsframework und MySQL als Datenbankverwaltungssystem verwenden. Wir werden uns auf Datenbankdesign, Modellerstellung, Controller-Entwicklung und Ansichtsrendering konzentrieren. Spezifische Codebeispiele werden im Artikel bereitgestellt.

Schritt 1: Umgebungseinrichtung
Zuerst müssen wir Ruby on Rails und MySQL installieren und konfigurieren. Ich werde hier nicht näher auf die spezifische Installationsmethode eingehen. Informationen zur Bedienung finden Sie in der offiziellen Dokumentation. Nach Abschluss der Installation können wir über die Befehlszeile überprüfen, ob die Installation erfolgreich war.

Schritt 2: Erstellen Sie eine Rails-Anwendung.
Erstellen Sie eine neue Rails-Anwendung mit dem folgenden Befehl:

rails new blog
cd blog

Schritt 3: Konfigurieren Sie die Datenbank.
Öffnen Sie die Datei config/database.yml und suchen Sie nach development und ändern Sie ihn wie folgt: 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_usernameyour_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

以上代码定义了博客控制器的各个动作,如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>

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

Ersetzen Sie your_username und your_password durch Ihren MySQL-Datenbank-Benutzernamen und Ihr Passwort.


Schritt 4: Erstellen Sie die Datenbank.

Führen Sie den folgenden Befehl aus, um die Datenbank zu erstellen: 🎜rrreee🎜Schritt 5: Erstellen Sie das Modell und die Datenbanktabelle für den Blog-Beitrag. 🎜Führen Sie den folgenden Befehl aus, um ein Modell und eine Datenbank mit dem Namen Post zu erstellen Tabelle: 🎜rrreee🎜Der obige Befehl erstellt die Datei post.rb im Verzeichnis app/models und eine Datei mit dem Namen posts in der Datenbank Die Tabelle enthält zwei Felder: Titel und Inhalt. 🎜🎜Schritt 6: Erstellen Sie einen Blog-Controller🎜Führen Sie den folgenden Befehl aus, um einen Controller mit dem Namen <code>Posts zu erstellen: 🎜rrreee🎜Der obige Befehl wird im Verzeichnis app/controllers erstellt Eine posts_controller.rb-Datei. 🎜🎜Schritt 7: Schreiben Sie die Methode des Blog-Controllers. 🎜Öffnen Sie die Datei app/controllers/posts_controller.rb und fügen Sie der Klasse die folgenden Methoden hinzu: 🎜rrreee🎜Der obige Code definiert jede Aktion des Blogs Controller. Wie index, show, new, edit, create, aktualisieren und zerstören. Diese Aktionen werden verwendet, um alle Blog-Beiträge anzuzeigen, einen einzelnen Blog-Beitrag anzuzeigen, einen neuen Blog-Beitrag zu erstellen, einen Blog-Beitrag zu bearbeiten, die Erstellung oder Bearbeitung eines Blog-Beitrags zu speichern, einen Blog-Beitrag zu aktualisieren und einen Blog-Beitrag zu löschen. 🎜🎜Schritt 8: Blog-Ansicht schreiben 🎜Öffnen Sie das Verzeichnis app/views/posts und erstellen Sie die folgenden Dateien: 🎜
  • index.html.erb: verwendet Zeigt eine Liste aller Blogbeiträge an.
  • show.html.erb: wird verwendet, um den detaillierten Inhalt eines einzelnen Blog-Beitrags anzuzeigen.
  • new.html.erb: wird zum Erstellen neuer Blogbeiträge verwendet.
  • edit.html.erb: wird zum Bearbeiten von Blogbeiträgen verwendet.
🎜Hier ist ein einfaches Beispiel: 🎜🎜index.html.erb🎜rrreee🎜show.html.erb🎜rrreee🎜new.html.erb🎜rrreee🎜edit.html.erb🎜rrreee🎜 _form .html.erb🎜rrreee🎜Nach Abschluss der oben genannten Vorgänge ist unser einfaches Blog-Verwaltungssystem betriebsbereit. Führen Sie den folgenden Befehl aus, um den Server zu starten, und besuchen Sie dann http://localhost:3000/posts im Browser: 🎜rrreee🎜Zusammenfassung: 🎜In diesem Artikel haben wir eine einfache Lösung mit MySQL und Ruby entwickelt on Rails Blog-Managementsystem. Wir haben Datenbankdesign, Modellerstellung, Controller-Entwicklung und Ansichtsrendering abgedeckt. Durch die oben genannten Schritte können Sie schnell ein einfaches Blog-Management-System aufbauen und es weiter ausbauen und optimieren. Ich hoffe, dieser Artikel hilft Ihnen zu verstehen, wie man mit MySQL und Ruby on Rails entwickelt. 🎜

Das obige ist der detaillierte Inhalt vonSo entwickeln Sie ein einfaches Blog-Verwaltungssystem mit MySQL und Ruby on Rails. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn