Home  >  Article  >  Database  >  How to develop a simple online order management system using MySQL and Ruby on Rails

How to develop a simple online order management system using MySQL and Ruby on Rails

王林
王林Original
2023-09-21 15:07:41918browse

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

How to develop a simple online order management system using MySQL and Ruby on Rails

Overview:
Online order management systems are one of the important components of modern business First, it can help companies efficiently manage orders, track order status, and meet customer needs. This article will introduce how to use MySQL and Ruby on Rails (RoR for short) to develop a simple online order management system, and provide some specific code examples.

  1. Environment setup:
    Before we start, we need to set up a development environment. First make sure you have installed the MySQL database and Ruby on Rails framework. You can use the following command to check whether it has been installed:

    $ mysql --version
    $ rails --version

    If it is not installed, you can refer to the official documentation to install it.

  2. Create a Rails application:
    Use the following command in the terminal to create a new Rails application:

    $ rails new order_management_system
    $ cd order_management_system

    This will create a new Rails application named A new Rails application for order_management_system and switch the working directory to this directory.

  3. Database configuration:
    In the root directory of the Rails application, open the config/database.yml file and modify the database configuration in it to the appropriate value. For example:

    development:
      adapter: mysql2
      encoding: utf8
      database: order_management_system_dev
      username: root
      password: password
      host: localhost

    After the modification is completed, save and close the file.

  4. Create the database:
    Create the database required in the development environment in MySQL using the following command:

    $ bundle exec rake db:create

    This will create a database based on the configuration in the configuration file A database named order_management_system_dev.

  5. Creating models and database migrations:
    In Rails, a model represents a table in the database. We will create the Order model to represent the order and add some necessary fields to it. Use the following command in the terminal to create an Order model:

    $ rails g model Order name:string quantity:integer price:decimal

    This will create the Order.rb file in the app/models directory and generate a migration file named orders.

Then, use the following command to perform the migration:

$ bundle exec rake db:migrate

After the migration is completed, there will be a table named orders in the database, containing the corresponding fields.

  1. Creating controllers and views:
    In Rails, the controller is responsible for processing requests and returning the results to the view for display. We will create a controller called OrdersController to handle order-related operations. Use the following command in the terminal to create OrdersController:

    $ rails g controller Orders

    This will create the orders_controller.rb file in the app/controllers directory and create the corresponding view file in the app/views/orders directory.

  2. Write the controller method:
    Open the orders_controller.rb file and add the following code:

    class OrdersController < ApplicationController
      def index
     @orders = Order.all
      end
    
      def new
     @order = Order.new
      end
    
      def create
     @order = Order.new(order_params)
     if @order.save
       redirect_to orders_path
     else
       render 'new'
     end
      end
    
      private
    
      def order_params
     params.require(:order).permit(:name, :quantity, :price)
      end
    end

    Three methods are defined here: index is used to display all orders , new is used to create a new order, and create is used to save the new order. At the same time, a private method order_params is defined to filter out unnecessary parameters.

  3. Write a view:
    In the app/views/orders directory, open the index.html.erb file and add the following code:

    <h1>订单列表</h1>
    <table>
      <thead>
     <tr>
       <th>订单名称</th>
       <th>数量</th>
       <th>价格</th>
     </tr>
      </thead>
      <tbody>
     <% @orders.each do |order| %>
       <tr>
         <td><%= order.name %></td>
         <td><%= order.quantity %></td>
         <td><%= order.price %></td>
       </tr>
     <% end %>
      </tbody>
    </table>
    
    <%= link_to '创建订单', new_order_path %>

    HTML is used here table to display the order list and use Rails' erb tag syntax to insert dynamic content.

Open the new.html.erb file and add the following code:

<h1>创建订单</h1>

<%= form_for @order do |f| %>
  <div class="field">
    <%= f.label :name %>
    <%= f.text_field :name %>
  </div>
  <div class="field">
    <%= f.label :quantity %>
    <%= f.number_field :quantity %>
  </div>
  <div class="field">
    <%= f.label :price %>
    <%= f.number_field :price %>
  </div>
  <%= f.submit %>
<% end %>

The form auxiliary method of Rails is used here to render the order fields into a form.

  1. Start the application:
    Use the following command to start the Rails application:

    $ rails server

    Then visit http://localhost:3000/orders in the browser. View the order list page.

At this point, a simple online order management system has been developed. Readers can expand and optimize according to specific needs, adding more functions and pages.

Summary:
This article introduces how to use MySQL and Ruby on Rails to develop a simple online order management system. Through the configuration of the database, the creation of models, and the writing of controllers and views, the creation and display of orders are realized. I hope this article can help readers better understand the use of MySQL and Ruby on Rails and apply it to actual development.

The above is the detailed content of How to develop a simple online order management system using MySQL and Ruby on Rails. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn