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_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 serverErsetzen Sie
your_username
und your_password
durch Ihren MySQL-Datenbank-Benutzernamen und Ihr Passwort.
Schritt 4: Erstellen Sie die Datenbank.
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. 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!