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

So entwickeln Sie ein einfaches Online-Planungssystem mit MySQL und Ruby on Rails

王林
王林Original
2023-09-20 14:54:27570Durchsuche

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

So entwickeln Sie ein einfaches Online-Planungssystem mit MySQL und Ruby on Rails

Mit der kontinuierlichen Weiterentwicklung der Technologie benötigen immer mehr Unternehmen und Organisationen ein effizientes Planungssystem zur Verwaltung und Zuweisung von Ressourcen. Die Verwendung von MySQL und Ruby on Rails zur Entwicklung eines einfachen Online-Planungssystems ist eine gängige und praktikable Option. In diesem Artikel wird detailliert beschrieben, wie diese beiden Technologien zum Aufbau eines Online-Planungssystems mit Grundfunktionen verwendet werden, und es werden entsprechende Codebeispiele bereitgestellt.

MySQL ist ein beliebtes relationales Open-Source-Datenbankverwaltungssystem, das leistungsstarke Datenspeicher- und Abfragefunktionen bietet. Ruby on Rails ist ein beliebtes Webentwicklungs-Framework, das auf der Ruby-Sprache basiert und es Entwicklern ermöglicht, schneller effiziente und skalierbare Webanwendungen zu erstellen.

Bevor wir mit der Entwicklung beginnen, müssen wir sicherstellen, dass die erforderliche Software und Tools installiert sind. Zunächst müssen Sie die MySQL-Datenbank und das Rails-Entwicklungsframework installieren. Diese Installationen können durch Ausführen der Befehle brew install mysql und gem install Rails abgeschlossen werden. Sobald die Installation abgeschlossen ist, können wir mit der Erstellung unseres Planungssystems beginnen. 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

Der erste Schritt besteht darin, eine neue Rails-Anwendung zu erstellen. Führen Sie im Terminal den Befehl Rails New Dispatch_system aus, um eine neue Rails-Anwendung mit dem Namen „dispatch_system“ zu erstellen. Geben Sie das Anwendungsverzeichnis ein und führen Sie den Befehl cd failed_system aus.

Als nächstes müssen wir ein Planungsaufgabenmodell und eine entsprechende Datenbanktabelle erstellen. Führen Sie den Befehl Rails Generate Model DispatchTask Name:String Status:Boolean im Terminal aus, um ein Modell mit dem Namen „DispatchTask“ zu generieren, und fügen Sie ein Feld vom Typ „String“ mit dem Namen „Name“ und ein Feld mit dem Namen „Boolesches Feld“ hinzu. Status". Führen Sie den Befehl rails db:migrate aus, um die entsprechende Datenbanktabelle zu erstellen. 🎜🎜Als nächstes müssen wir einen Controller erstellen, der die Hinzufügungs-, Lösch-, Änderungs- und Abfragevorgänge geplanter Aufgaben verwaltet. Führen Sie den Befehl Rails Generate Controller DispatchTasks aus, um einen Controller mit dem Namen „DispatchTasks“ zu generieren. Öffnen Sie die generierte Controller-Datei „app/controllers/dispatch_tasks_controller.rb“ und fügen Sie den folgenden Code hinzu: 🎜rrreee🎜Dieser Controller definiert eine Reihe von Methoden zum Ausführen von Versandaufgaben, einschließlich der Anzeige aller Aufgaben, der Erstellung neuer Aufgaben, der Bearbeitung von Aufgaben und der Aktualisierung von Aufgaben und Aufgaben löschen. In diesem Controller verwenden wir das DispatchTask-Modell, um Datenbankoperationen abzuwickeln und Seitensprünge über den Pfad zu implementieren. 🎜🎜Als nächstes müssen wir die entsprechende Ansichtsdatei erstellen. Erstellen Sie im Verzeichnis „app/views/dispatch_tasks“ die vier Dateien „index.html.erb“, „new.html.erb“, „edit.html.erb“ und „_form.html.erb“ und fügen Sie den folgenden Code hinzu : 🎜🎜index.html.erb: 🎜rrreee🎜new.html.erb: 🎜rrreee🎜edit.html.erb: 🎜rrreee🎜_form.html.erb: 🎜rrreee🎜Diese Ansichtsdateien definieren die Schnittstelle des Planungssystems und Formulare und verwendet die erb-Template-Engine zum Einbetten von Ruby-Code. In diesen Ansichtsdateien verwenden wir Felder aus dem DispatchTask-Modell, um den Namen und Status der Aufgabe anzuzeigen, und verwenden die Methode link_to, um die entsprechenden Links zu generieren. 🎜🎜Abschließend müssen wir die Datenbankverbindung konfigurieren. Öffnen Sie die Datei „config/database.yml“ und bestätigen Sie, dass die Konfiguration der Datenbankverbindung korrekt ist, einschließlich Datenbankname, Benutzername und Passwort. In dieser Datei finden Sie normalerweise eine Konfiguration mit „default“ als Schlüsselnamen. Wir müssen sicherstellen, dass der Inhalt der Konfiguration korrekt ist. 🎜🎜Zu diesem Zeitpunkt haben wir die Entwicklung eines grundlegenden Online-Terminplanungssystems abgeschlossen. Führen Sie den Befehl rails s im Terminal aus, um den Rails-Server zu starten, und besuchen Sie dann „http://localhost:3000/dispatch_tasks“ im Browser, um dieses Versandsystem anzuzeigen und zu verwenden. Durch Klicken auf die entsprechenden Links und Schaltflächen können Aufgaben erstellt, bearbeitet und gelöscht werden. 🎜🎜Natürlich ist dies nur ein einfaches Beispiel für ein Planungssystem, und es gibt viele Bereiche, die verbessert und perfektioniert werden können. Anhand dieses Beispiels können wir jedoch lernen, wie man mit MySQL und Ruby on Rails ein Online-Planungssystem entwickelt, und erhalten ein erstes Verständnis für die grundlegende Verwendung dieser beiden Technologien. Ich hoffe, dieser Artikel kann Ihnen hilfreich sein! 🎜

Das obige ist der detaillierte Inhalt vonSo entwickeln Sie ein einfaches Online-Planungssystem 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