Bagaimana untuk membangunkan sistem penjadualan dalam talian yang mudah menggunakan MySQL dan Ruby on Rails

王林
Lepaskan: 2023-09-20 14:54:27
asal
585 orang telah melayarinya

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

Cara membangunkan sistem penjadualan dalam talian yang mudah menggunakan MySQL dan Ruby on Rails

Dengan perkembangan teknologi yang berterusan, semakin banyak perusahaan dan organisasi memerlukan sistem penjadualan yang cekap untuk mengurus dan memperuntukkan sumber. Menggunakan MySQL dan Ruby on Rails untuk membangunkan sistem penjadualan dalam talian yang mudah adalah pilihan yang biasa dan boleh dilaksanakan. Artikel ini akan memperkenalkan secara terperinci cara menggunakan kedua-dua teknologi ini untuk membina sistem penjadualan dalam talian dengan fungsi asas dan menyediakan contoh kod yang sepadan.

MySQL ialah sistem pengurusan pangkalan data hubungan sumber terbuka yang popular yang menyediakan storan data dan keupayaan pertanyaan yang berkuasa. Ruby on Rails ialah rangka kerja pembangunan web yang popular berdasarkan bahasa Ruby yang membolehkan pembangun membina aplikasi web yang cekap dan berskala dengan lebih pantas.

Sebelum memulakan pembangunan, kami perlu memastikan kami telah memasang perisian dan alatan yang diperlukan. Pertama, anda perlu memasang pangkalan data MySQL dan rangka kerja pembangunan Rails. Pemasangan ini boleh diselesaikan dengan melaksanakan perintah brew install mysql dan gem install rails. Setelah pemasangan selesai, kami boleh mula membuat sistem penjadualan kami. 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
Salin selepas log masuk

这个控制器定义了一系列操作调度任务的方法,包括显示所有任务、创建新任务、编辑任务、更新任务和删除任务。在这个控制器中,我们使用了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 %>
Salin selepas log masuk

new.html.erb:

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

<%= render "form" %>

<%= link_to "返回", dispatch_tasks_path %>
Salin selepas log masuk

edit.html.erb:

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

<%= render "form" %>

<%= link_to "返回", dispatch_tasks_path %>
Salin selepas log masuk

_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 %>
Salin selepas log masuk

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

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

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

Langkah pertama ialah mencipta aplikasi Rails baharu. Jalankan arahan rails new dispatch_system dalam terminal untuk mencipta aplikasi Rails baharu bernama "dispatch_system". Masukkan direktori aplikasi dan laksanakan arahan cd dispatch_system.

Seterusnya, kita perlu mencipta model tugas penjadualan dan jadual pangkalan data yang sepadan. Jalankan arahan rails generate model DispatchTask name:string status:boolean dalam terminal untuk menjana model bernama "DispatchTask", dan tambah medan jenis rentetan bernama "name" dan medan bernama Boolean field of " status". Jalankan arahan rails db:migrate untuk mencipta jadual pangkalan data yang sepadan. 🎜🎜Seterusnya, kita perlu mencipta pengawal untuk mengendalikan operasi penambahan, pemadaman, pengubahsuaian dan pertanyaan tugasan yang dijadualkan. Jalankan arahan rails generate controller DispatchTasks untuk menjana pengawal bernama "DispatchTasks". Buka fail pengawal yang dijana "app/controllers/dispatch_tasks_controller.rb" dan tambahkan kod berikut: 🎜rrreee🎜Pengawal ini mentakrifkan satu siri kaedah untuk mengendalikan tugas penghantaran, termasuk memaparkan semua tugas, mencipta tugas baharu, menyunting tugas dan mengemas kini tugas dan padamkan tugasan. Dalam pengawal ini, kami menggunakan model DispatchTask untuk mengendalikan operasi pangkalan data dan melaksanakan lompatan halaman melalui laluan. 🎜🎜Seterusnya, kita perlu mencipta fail paparan yang sepadan. Dalam direktori "app/views/dispatch_tasks", buat empat fail "index.html.erb", "new.html.erb", "edit.html.erb" dan "_form.html.erb" dan tambah Kod berikut : 🎜🎜index.html.erb: 🎜rrreee🎜new.html.erb: 🎜rrreee🎜edit.html.erb: 🎜rrreee🎜_form.html.erb: 🎜rrreee🎜Pandangan fail ini mentakrifkan antara muka sistem dan penjadualan borang, dan menggunakan enjin templat erb untuk membenamkan kod Ruby. Dalam fail paparan ini, kami menggunakan medan daripada model DispatchTask untuk memaparkan nama dan status tugasan dan menggunakan kaedah link_to untuk menjana pautan yang sepadan. 🎜🎜Akhir sekali, kita perlu mengkonfigurasi sambungan pangkalan data. Buka fail "config/database.yml" dan sahkan bahawa konfigurasi sambungan pangkalan data adalah betul, termasuk nama pangkalan data, nama pengguna dan kata laluan. Dalam fail ini, anda biasanya boleh mencari konfigurasi dengan "lalai" sebagai nama kunci Kami perlu memastikan bahawa kandungan konfigurasi adalah betul. 🎜🎜Pada ketika ini, kami telah menyelesaikan pembangunan sistem penjadualan dalam talian asas. Jalankan arahan rails s dalam terminal untuk memulakan pelayan Rails, dan kemudian lawati "http://localhost:3000/dispatch_tasks" dalam penyemak imbas untuk melihat dan menggunakan sistem penghantaran ini. Tugasan boleh dibuat, diedit dan dipadamkan dengan mengklik pautan dan butang yang sepadan. 🎜🎜Sudah tentu, ini hanyalah contoh mudah sistem penjadualan, dan terdapat banyak bidang yang boleh diperbaiki dan diperbaiki. Tetapi melalui contoh ini, kita boleh belajar cara menggunakan MySQL dan Ruby on Rails untuk membangunkan sistem penjadualan dalam talian, dan mempunyai pemahaman awal tentang penggunaan asas kedua-dua teknologi ini. Harap artikel ini dapat membantu anda! 🎜

Atas ialah kandungan terperinci Bagaimana untuk membangunkan sistem penjadualan dalam talian yang mudah menggunakan MySQL dan Ruby on Rails. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!