Maison > base de données > tutoriel mysql > le corps du texte

Comment développer un système de gestion de blog simple en utilisant MySQL et Ruby on Rails

王林
Libérer: 2023-09-20 09:57:17
original
1127 Les gens l'ont consulté

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

Comment utiliser MySQL et Ruby on Rails pour développer un système de gestion de blog simple

Aperçu :
Cet article présentera comment utiliser MySQL et Ruby on Rails pour développer un système de gestion de blog simple. Un système de gestion de blog est une application Web courante qui permet aux utilisateurs de créer, modifier et gérer des articles de blog. Nous utiliserons Ruby on Rails comme framework de développement et MySQL comme système de gestion de base de données. Nous nous concentrerons sur la conception de bases de données, la création de modèles, le développement de contrôleurs et le rendu des vues. Des exemples de code spécifiques seront fournis dans l’article.

Étape 1 : Configuration de l'environnement
Tout d'abord, nous devons installer et configurer Ruby on Rails et MySQL. Je n'entrerai pas ici dans les détails de la méthode d'installation spécifique. Vous pouvez vous référer à la documentation officielle pour le fonctionnement. Une fois l'installation terminée, nous pouvons vérifier si l'installation a réussi via la ligne de commande.

Étape 2 : Créer une application Rails
Créez une nouvelle application Rails à l'aide de la commande suivante :

rails new blog
cd blog
Copier après la connexion

Étape 3 : Configurer la base de données
Ouvrez le fichier config/database.yml et recherchez développement et modifiez-le comme suit : 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'] %>
Copier après la connexion

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

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

rails db:create
Copier après la connexion

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

rails generate model Post title:string content:text
rails db:migrate
Copier après la connexion

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

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

rails generate controller Posts
Copier après la connexion

以上命令将在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
Copier après la connexion

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

show.html.erb

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

<%= link_to 'Edit', edit_post_path(@post) %> |
<%= link_to 'Back', posts_path %>
Copier après la connexion

new.html.erb

<h1>New Post</h1>

<%= render 'form' %>

<%= link_to 'Back', posts_path %>
Copier après la connexion

edit.html.erb

<h1>Editing Post</h1>

<%= render 'form' %>

<%= link_to 'Show', @post %> |
<%= link_to 'Back', posts_path %>
Copier après la connexion

_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 %>
Copier après la connexion

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

rails server
Copier après la connexion
Remplacez votre_nom d'utilisateur et votre_mot de passe par le nom d'utilisateur et le mot de passe de votre base de données MySQL.


Étape 4 : Créer la base de données

Exécutez la commande suivante pour créer la base de données : 🎜rrreee🎜Étape 5 : Créez le modèle et la table de base de données pour l'article de blog 🎜Exécutez la commande suivante pour créer un modèle et une base de données nommés Post Tableau : 🎜rrreee🎜La commande ci-dessus créera le fichier post.rb dans le répertoire app/models et créera un fichier nommé posts dans la base de données La table contient deux champs : titre et contenu. 🎜🎜Étape 6 : Créer un contrôleur de blog🎜Exécutez la commande suivante pour créer un contrôleur nommé <code>Posts : 🎜rrreee🎜La commande ci-dessus sera créée dans le répertoire app/controllers Un fichier posts_controller.rb. 🎜🎜Étape 7 : Ecrire la méthode du contrôleur de blog 🎜Ouvrez le fichier app/controllers/posts_controller.rb et ajoutez les méthodes suivantes à la classe : 🎜rrreee🎜Le code ci-dessus définit chaque action du blog contrôleur Tels que index, show, new, edit, create, mettre à jour et détruire. Ces actions sont utilisées pour afficher tous les articles de blog, afficher un seul article de blog, créer un nouvel article de blog, modifier un article de blog, enregistrer la création ou la modification d'un article de blog, mettre à jour un article de blog et supprimer un article de blog. 🎜🎜Étape 8 : Écrire la vue du blog 🎜Ouvrez le répertoire app/views/posts et créez les fichiers suivants : 🎜
  • index.html.erb : used Affiche une liste de tous les articles de blog.
  • show.html.erb : utilisé pour afficher le contenu détaillé d'un seul article de blog.
  • new.html.erb : utilisé pour créer de nouveaux articles de blog.
  • edit.html.erb : utilisé pour éditer les articles de blog.
🎜Voici un exemple simple : 🎜🎜index.html.erb🎜rrreee🎜show.html.erb🎜rrreee🎜new.html.erb🎜rrreee🎜edit.html.erb🎜rrreee🎜 _form .html.erb🎜rrreee🎜Après avoir terminé les opérations ci-dessus, notre système simple de gestion de blog est prêt à fonctionner. Exécutez la commande suivante pour démarrer le serveur, puis visitez http://localhost:3000/posts dans le navigateur : 🎜rrreee🎜Résumé : 🎜Dans cet article, nous avons développé un simple utilisant MySQL et Ruby sur le système de gestion du blog Rails. Nous avons couvert la conception de bases de données, la création de modèles, le développement de contrôleurs et le rendu des vues. Grâce aux étapes ci-dessus, vous pouvez rapidement créer un système de gestion de blog simple, puis l'étendre et l'optimiser davantage. J'espère que cet article vous aidera à comprendre comment développer avec MySQL et Ruby on Rails. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!