Maison  >  Article  >  base de données  >  Comment développer un système de planification en ligne simple à l'aide de MySQL et Ruby on Rails

Comment développer un système de planification en ligne simple à l'aide de MySQL et Ruby on Rails

王林
王林original
2023-09-20 14:54:27570parcourir

如何使用MySQL和Ruby on Rails开发一个简单的在线调度系统

Comment développer un système de planification en ligne simple à l'aide de MySQL et Ruby on Rails

Avec le développement continu de la technologie, de plus en plus d'entreprises et d'organisations ont besoin d'un système de planification efficace pour gérer et allouer les ressources. Utiliser MySQL et Ruby on Rails pour développer un système de planification en ligne simple est une option courante et réalisable. Cet article présentera en détail comment utiliser ces deux technologies pour créer un système de planification en ligne avec des fonctions de base et fournira des exemples de code correspondants.

MySQL est un système de gestion de base de données relationnelle open source populaire qui offre de puissantes capacités de stockage de données et de requête. Ruby on Rails est un framework de développement Web populaire basé sur le langage Ruby qui permet aux développeurs de créer plus rapidement des applications Web efficaces et évolutives.

Avant de commencer le développement, nous devons nous assurer que les logiciels et outils requis sont installés. Tout d’abord, vous devez installer la base de données MySQL et le framework de développement Rails. Ces installations peuvent être complétées en exécutant les commandes brew install mysql et gem install rails. Une fois l'installation terminée, nous pouvons commencer à créer notre système de planification. brew install mysqlgem install rails来完成这些安装。一旦安装完成,我们就可以开始创建我们的调度系统了。

第一步是创建一个新的Rails应用。在终端中执行命令rails new dispatch_system来创建一个名为"dispatch_system"的新的Rails应用。进入应用目录,执行命令cd dispatch_system

接下来,我们需要创建一个调度任务的模型和相应的数据库表。在终端中执行命令rails generate model DispatchTask name:string status:boolean来生成一个名为"DispatchTask"的模型,并添加一个名为"name"的字符串类型字段和一个名为"status"的布尔类型字段。执行命令rails db:migrate来创建相应的数据库表。

接下来,我们需要创建一个控制器来处理调度任务的增删改查操作。执行命令rails generate controller DispatchTasks来生成一个名为"DispatchTasks"的控制器。打开生成的控制器文件"app/controllers/dispatch_tasks_controller.rb",添加以下代码:

class DispatchTasksController < ApplicationController
  def index
    @tasks = DispatchTask.all
  end

  def new
    @task = DispatchTask.new
  end

  def create
    @task = DispatchTask.new(task_params)
    
    if @task.save
      redirect_to dispatch_tasks_path
    else
      render :new
    end
  end

  def edit
    @task = DispatchTask.find(params[:id])
  end

  def update
    @task = DispatchTask.find(params[:id])
    
    if @task.update(task_params)
      redirect_to dispatch_tasks_path
    else
      render :edit
    end
  end

  def destroy
    @task = DispatchTask.find(params[:id])
    @task.destroy
    
    redirect_to dispatch_tasks_path
  end

  private

  def task_params
    params.require(:dispatch_task).permit(:name, :status)
  end
end

这个控制器定义了一系列操作调度任务的方法,包括显示所有任务、创建新任务、编辑任务、更新任务和删除任务。在这个控制器中,我们使用了DispatchTask模型来处理数据库操作,并通过path来实现页面的跳转。

接下来,我们需要创建相应的视图文件。在"app/views/dispatch_tasks"目录下,创建"index.html.erb"、"new.html.erb"、"edit.html.erb"和"_form.html.erb"这四个文件,并添加以下代码:

index.html.erb:

<h1>调度任务列表</h1>

<table>
  <tr>
    <th>名称</th>
    <th>状态</th>
    <th>操作</th>
  </tr>
  
  <% @tasks.each do |task| %>
    <tr>
      <td><%= task.name %></td>
      <td><%= task.status ? "完成" : "未完成" %></td>
      <td>
        <%= link_to "编辑", edit_dispatch_task_path(task) %>
        <%= link_to "删除", dispatch_task_path(task), method: :delete, data: { confirm: "确定要删除吗?" } %>
      </td>
    </tr>
  <% end %>
</table>

<%= link_to "新增任务", new_dispatch_task_path %>

new.html.erb:

<h1>新增调度任务</h1>

<%= render "form" %>

<%= link_to "返回", dispatch_tasks_path %>

edit.html.erb:

<h1>编辑调度任务</h1>

<%= render "form" %>

<%= link_to "返回", dispatch_tasks_path %>

_form.html.erb:

<%= form_with(model: @task, local: true) do |form| %>
  <%= form.label :name, "任务名称" %>
  <%= form.text_field :name %>

  <%= form.label :status, "任务状态" %>
  <%= form.check_box :status %>
  
  <%= form.submit "保存" %>
<% end %>

这些视图文件定义了调度系统的界面和表单,并使用了erb模板引擎来嵌入Ruby代码。在这些视图文件中,我们使用了DispatchTask模型中的字段来显示任务的名称和状态,并使用link_to方法来生成相应的链接。

最后,我们需要配置数据库连接。打开"config/database.yml"文件,确认数据库的连接配置正确,包括数据库名、用户名和密码。在这个文件中,通常可以找到一段以"default"为键名的配置,我们需要确保该配置的内容正确。

至此,我们已经完成了一个基本的在线调度系统的开发。在终端中执行命令rails s

La première étape consiste à créer une nouvelle application Rails. Exécutez la commande rails new dispatch_system dans le terminal pour créer une nouvelle application Rails nommée "dispatch_system". Entrez dans le répertoire de l'application et exécutez la commande cd dispatch_system.

Ensuite, nous devons créer un modèle de planification des tâches et la table de base de données correspondante. Exécutez la commande rails generate model DispatchTask name:string status:boolean dans le terminal pour générer un modèle nommé "DispatchTask", et ajoutez un champ de type chaîne nommé "name" et un champ nommé Boolean field of " statut". Exécutez la commande rails db:migrate pour créer la table de base de données correspondante. 🎜🎜Ensuite, nous devons créer un contrôleur pour gérer les opérations d'ajout, de suppression, de modification et d'interrogation des tâches planifiées. Exécutez la commande rails generate controller DispatchTasks pour générer un contrôleur nommé "DispatchTasks". Ouvrez le fichier de contrôleur généré "app/controllers/dispatch_tasks_controller.rb" et ajoutez le code suivant : 🎜rrreee🎜Ce contrôleur définit une série de méthodes pour exécuter les tâches de répartition, notamment l'affichage de toutes les tâches, la création de nouvelles tâches, la modification des tâches et la mise à jour des tâches. et supprimer des tâches. Dans ce contrôleur, nous utilisons le modèle DispatchTask pour gérer les opérations de base de données et implémenter les sauts de page via le chemin. 🎜🎜Ensuite, nous devons créer le fichier de vue correspondant. Dans le répertoire "app/views/dispatch_tasks", créez quatre fichiers "index.html.erb", "new.html.erb", "edit.html.erb" et "_form.html.erb" et ajoutez le code suivant : 🎜🎜index.html.erb: 🎜rrreee🎜new.html.erb: 🎜rrreee🎜edit.html.erb: 🎜rrreee🎜_form.html.erb: 🎜rrreee🎜Ces fichiers de vue définissent l'interface du système de planification et formulaires et utilise le moteur de modèle erb pour intégrer le code Ruby. Dans ces fichiers de vue, nous utilisons les champs du modèle DispatchTask pour afficher le nom et l'état de la tâche, et utilisons la méthode link_to pour générer les liens correspondants. 🎜🎜Enfin, nous devons configurer la connexion à la base de données. Ouvrez le fichier « config/database.yml » et confirmez que la configuration de la connexion à la base de données est correcte, y compris le nom de la base de données, le nom d'utilisateur et le mot de passe. Dans ce fichier, vous pouvez généralement trouver une configuration avec « par défaut » comme nom de clé. Nous devons nous assurer que le contenu de la configuration est correct. 🎜🎜À ce stade, nous avons terminé le développement d'un système de planification en ligne de base. Exécutez la commande rails s dans le terminal pour démarrer le serveur Rails, puis visitez "http://localhost:3000/dispatch_tasks" dans le navigateur pour afficher et utiliser ce système de répartition. Les tâches peuvent être créées, modifiées et supprimées en cliquant sur les liens et boutons correspondants. 🎜🎜Bien sûr, ce n'est qu'un exemple simple de système de planification, et de nombreux domaines peuvent être améliorés et perfectionnés. Mais grâce à cet exemple, nous pouvons apprendre à utiliser MySQL et Ruby on Rails pour développer un système de planification en ligne, et avoir une compréhension préliminaire de l'utilisation de base de ces deux technologies. J'espère que cet article pourra vous être utile ! 🎜

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:
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