Maison base de données tutoriel mysql Comment développer une fonction Tieba simple en utilisant MySQL et Ruby on Rails

Comment développer une fonction Tieba simple en utilisant MySQL et Ruby on Rails

Sep 22, 2023 am 08:25 AM
mysql ruby on rails Fonction Tieba

如何使用MySQL和Ruby on Rails开发一个简单的贴吧功能

Comment utiliser MySQL et Ruby on Rails pour développer une fonction Tieba simple

En tant que puissant système de gestion de bases de données, MySQL est souvent utilisé lors du développement d'applications Web. En tant que framework de développement Web efficace et concis, Ruby on Rails est encore plus populaire parmi les développeurs. Ce qui suit présentera comment utiliser MySQL et Ruby on Rails pour développer une fonction Tieba simple et fournira quelques exemples de code spécifiques.

Étape 1 : Créer une base de données

Tout d'abord, nous devons créer une nouvelle base de données dans MySQL pour stocker les données liées à Tieba. Vous pouvez créer une base de données dans la ligne de commande MySQL à l'aide de la commande suivante :

CREATE DATABASE bbs_development;
Copier après la connexion

Étape 2 : Créer une application Rails

Ensuite, nous devons créer une nouvelle application Rails. Ouvrez un terminal et exécutez la commande suivante :

rails new bbs -d mysql
Copier après la connexion

Cela créera une nouvelle application Rails appelée bbs et utilisera MySQL comme base de données. Ensuite, entrez dans le répertoire de l'application :

cd bbs
Copier après la connexion

Étape 3 : Générer des modèles et des contrôleurs

Dans Rails, nous pouvons utiliser la commande générateur pour générer rapidement des modèles et des contrôleurs. Exécutez la commande suivante pour générer un modèle nommé Post et un contrôleur nommé Posts :

rails generate model Post title:string content:text
rails generate controller Posts
Copier après la connexion

Cela générera un modèle Post et créera une table de publications dans la base de données, qui contient des champs tels que le titre et le contenu. Dans le même temps, un contrôleur Posts sera également généré pour gérer la logique liée à Tieba.

Étape 4 : Définir les routes

Dans Rails, nous devons définir les routes utilisées pour distribuer les requêtes dans le fichier config/routes.rb. Ouvrez le fichier et ajoutez le code suivant : config/routes.rb文件中定义用于分发请求的路由。打开该文件,并添加以下代码:

Rails.application.routes.draw do
  resources :posts
  root 'posts#index'
end
Copier après la connexion

这将定义了一个根路由,将根路径指向posts#index动作,也就是贴吧首页。同时,也定义了一个资源路由,用于处理与贴子相关的请求。

步骤五:定义模型关联

app/models/post.rb文件中,我们需要定义模型之间的关联。在这个简单的贴吧应用中,我们设想一个贴子可以有多个回复评论。因此,添加以下代码:

class Post < ApplicationRecord
  has_many :comments, dependent: :destroy
end
Copier après la connexion

这告诉Rails一个贴子可以拥有多个评论,并且当贴子被删除时,相关的评论也会被自动删除。

步骤六:生成数据库迁移

执行以下命令来创建数据库表:

rails db:migrate
Copier après la connexion

这将根据之前生成的模型创建数据库表。

步骤七:添加控制器方法和视图

在控制器中,我们需要定义一些动作方法来处理与贴子相关的操作。在app/controllers/posts_controller.rb文件中,添加以下代码:

class PostsController < ApplicationController
  def index
    @posts = Post.all
  end

  def show
    @post = Post.find(params[:id])
  end

  def new
    @post = Post.new
  end

  def create
    @post = Post.new(post_params)
    if @post.save
      redirect_to @post
    else
      render 'new'
    end
  end

  private

  def post_params
    params.require(:post).permit(:title, :content)
  end
end
Copier après la connexion

上述代码中,index方法用于展示所有贴子,show方法用于展示单个贴子,new方法用于创建新贴子,create方法用于保存新贴子。同时,我们还定义了一个私有方法post_params来过滤允许的参数。

app/views/posts目录下,我们需要创建相应的视图模板来展示数据。可以根据需要创建index.html.erbshow.html.erbnew.html.erb等文件,编写相应的HTML代码。

步骤八:运行应用

最后一步,我们需要运行应用以查看效果。在终端中执行以下命令:

rails server
Copier après la connexion

这将启动Rails服务器,并将应用运行在localhost:3000rrreee

Cela définira une route racine et pointera le chemin racine vers l'action posts#index, qui est la page d'accueil de Tieba. Dans le même temps, une route de ressources est également définie pour gérer les demandes liées aux publications.

Étape 5 : Définir l'association de modèles

Dans le fichier app/models/post.rb, nous devons définir l'association entre les modèles. Dans cette simple application Tieba, nous imaginons qu'un message peut avoir plusieurs commentaires de réponse. Ajoutez donc le code suivant : 🎜rrreee🎜Cela indique à Rails qu'une publication peut avoir plusieurs commentaires, et que lorsque la publication est supprimée, les commentaires associés seront automatiquement supprimés. 🎜🎜Étape 6 : Générer la migration de la base de données🎜🎜Exécutez la commande suivante pour créer la table de base de données : 🎜rrreee🎜Cela créera la table de base de données basée sur le modèle généré précédemment. 🎜🎜Étape 7 : Ajouter des méthodes et des vues du contrôleur🎜🎜Dans le contrôleur, nous devons définir certaines méthodes d'action pour gérer les opérations post-liées. Dans le fichier app/controllers/posts_controller.rb, ajoutez le code suivant : 🎜rrreee🎜Dans le code ci-dessus, la méthode index est utilisée pour afficher toutes les publications, show est utilisée pour afficher une seule publication, la méthode <code>new est utilisée pour créer une nouvelle publication et la méthode create est utilisée pour enregistrer la nouveau message. En même temps, nous définissons également une méthode privée post_params pour filtrer les paramètres autorisés. 🎜🎜Dans le répertoire app/views/posts, nous devons créer le modèle de vue correspondant pour afficher les données. Vous pouvez créer index.html.erb, show.html.erb, new.html.erb et d'autres fichiers selon vos besoins, et écrire les fichiers correspondants. Code HTML. 🎜🎜Étape 8 : Exécuter l'application🎜🎜Dans la dernière étape, nous devons exécuter l'application pour voir l'effet. Exécutez la commande suivante dans le terminal : 🎜rrreee🎜 Cela démarrera le serveur Rails et exécutera l'application sur le port par défaut de localhost:3000. Ouvrez le navigateur et accédez à l'adresse pour voir la page d'accueil de l'application Tieba. Cela permet la création, l’affichage et la navigation des publications. 🎜🎜Résumé🎜🎜Cet article présente comment utiliser MySQL et Ruby on Rails pour développer une fonction Tieba simple et fournit quelques exemples de code spécifiques. Grâce aux étapes ci-dessus, nous pouvons apprendre à créer une base de données, générer des modèles et des contrôleurs, définir des itinéraires, définir des associations de modèles, etc. Grâce à cet exemple simple, nous pouvons fournir aux lecteurs un guide de démarrage rapide afin qu'ils puissent mieux utiliser MySQL et Ruby on Rails pour développer leurs propres applications Web. 🎜

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!

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

Article chaud

Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Article chaud

Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Compétences de traitement de structures de données volumineuses de PHP Compétences de traitement de structures de données volumineuses de PHP May 08, 2024 am 10:24 AM

Compétences de traitement de structures de données volumineuses de PHP

Comment optimiser les performances des requêtes MySQL en PHP ? Comment optimiser les performances des requêtes MySQL en PHP ? Jun 03, 2024 pm 08:11 PM

Comment optimiser les performances des requêtes MySQL en PHP ?

Comment utiliser la sauvegarde et la restauration MySQL en PHP ? Comment utiliser la sauvegarde et la restauration MySQL en PHP ? Jun 03, 2024 pm 12:19 PM

Comment utiliser la sauvegarde et la restauration MySQL en PHP ?

Quels sont les scénarios d'application des types d'énumération Java dans les bases de données ? Quels sont les scénarios d'application des types d'énumération Java dans les bases de données ? May 05, 2024 am 09:06 AM

Quels sont les scénarios d'application des types d'énumération Java dans les bases de données ?

Comment insérer des données dans une table MySQL en utilisant PHP ? Comment insérer des données dans une table MySQL en utilisant PHP ? Jun 02, 2024 pm 02:26 PM

Comment insérer des données dans une table MySQL en utilisant PHP ?

Comment corriger les erreurs mysql_native_password non chargé sur MySQL 8.4 Comment corriger les erreurs mysql_native_password non chargé sur MySQL 8.4 Dec 09, 2024 am 11:42 AM

Comment corriger les erreurs mysql_native_password non chargé sur MySQL 8.4

Comment utiliser les procédures stockées MySQL en PHP ? Comment utiliser les procédures stockées MySQL en PHP ? Jun 02, 2024 pm 02:13 PM

Comment utiliser les procédures stockées MySQL en PHP ?

Stratégies d'optimisation des performances pour la pagination des tableaux PHP Stratégies d'optimisation des performances pour la pagination des tableaux PHP May 02, 2024 am 09:27 AM

Stratégies d'optimisation des performances pour la pagination des tableaux PHP

See all articles