ホームページ  >  記事  >  データベース  >  MySQL と Ruby on Rails を使用してシンプルなオンライン スケジュール システムを開発する方法

MySQL と Ruby on Rails を使用してシンプルなオンライン スケジュール システムを開発する方法

王林
王林オリジナル
2023-09-20 14:54:27568ブラウズ

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

MySQL と Ruby on Rails を使用してシンプルなオンライン スケジューリング システムを開発する方法

テクノロジーの継続的な発展に伴い、効率的なスケジューリングを必要とする企業や組織がますます増えています。リソースを管理および割り当てるためのシステム。 MySQL と Ruby on Rails を使用してシンプルなオンライン スケジュール システムを開発することは、一般的で実現可能なオプションです。この記事では、これら 2 つのテクノロジを使用して基本的な機能を備えたオンライン スケジューリング システムを構築する方法と、対応するコード例を詳しく紹介します。

MySQL は、強力なデータ ストレージとクエリ機能を提供する、人気のあるオープン ソースのリレーショナル データベース管理システムです。 Ruby on Rails は、Ruby 言語に基づく人気のある Web 開発フレームワークで、開発者は効率的でスケーラブルな Web アプリケーションをより迅速に構築できます。

開発を開始する前に、必要なソフトウェアとツールがインストールされていることを確認する必要があります。まず、MySQL データベースと Rails 開発フレームワークをインストールする必要があります。これらのインストールは、コマンド brew install mysql および gem install Rails を実行することで完了できます。インストールが完了したら、スケジュール システムの作成を開始できます。

最初のステップは、新しい Rails アプリケーションを作成することです。ターミナルでコマンド rails newdispatch_system を実行して、「dispatch_system」という名前の新しい Rails アプリケーションを作成します。アプリケーション ディレクトリに入り、コマンド cddispatch_system を実行します。

次に、タスクをスケジュールするためのモデルと、対応するデータベース テーブルを作成する必要があります。ターミナルでコマンド rails generated model DispatchTask name:string status:boolean を実行して、「DispatchTask」という名前のモデルを生成し、「name」という名前の文字列型フィールドと「status」という名前のブール型フィールドを追加します。 。コマンド rails db:merge を実行して、対応するデータベース テーブルを作成します。

次に、スケジュールされたタスクの追加、削除、変更、クエリ操作を処理するコントローラーを作成する必要があります。コマンド rails ジェネレート コントローラー 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 モデルを使用してデータベース操作を処理し、パスを介したページ ジャンプを実装します。

次に、対応するビュー ファイルを作成する必要があります。 「app/views/dispatch_tasks」ディレクトリに、「index.html.erb」、「new.html.erb」、「edit.html.erb」、「_form.html.erb」の 4 つのファイルを作成し、次のコードを追加します。 :

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

index.html.erb:

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

<%= render "form" %>

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

new.html.erb:

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

<%= render "form" %>

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

edit.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 %>

_form.html. erb:

rrreee

これらのビュー ファイルは、スケジューリング システムのインターフェイスとフォームを定義し、erb テンプレート エンジンを使用して Ruby コードを埋め込みます。これらのビュー ファイルでは、DispatchTask モデルのフィールドを使用してタスクの名前とステータスを表示し、link_to メソッドを使用して対応するリンクを生成します。

最後に、データベース接続を構成する必要があります。 「config/database.yml」ファイルを開き、データベース名、ユーザー名、パスワードなどのデータベース接続構成が正しいことを確認します。このファイルには、通常、キー名として「default」が含まれる構成が含まれていますが、構成の内容が正しいことを確認する必要があります。

これまでのところ、基本的なオンライン スケジュール システムの開発が完了しました。ターミナルでコマンド rails s を実行して Rails サーバーを起動し、ブラウザで「http://localhost:3000/dispatch_tasks」にアクセスしてこのディスパッチ システムを表示して使用します。対応するリンクとボタンをクリックすると、タスクを作成、編集、削除できます。

もちろん、これはスケジュール システムの単純な例にすぎず、改善して完成させることができる領域はたくさんあります。ただし、この例を通じて、MySQL と Ruby on Rails を使用してオンライン スケジューリング システムを開発する方法を学び、これら 2 つのテクノロジの基本的な使用方法を予備的に理解することができます。この記事があなたのお役に立てば幸いです!

以上がMySQL と Ruby on Rails を使用してシンプルなオンライン スケジュール システムを開発する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。