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

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

PHPz
PHPzOriginal
2023-09-20 11:57:151037browse

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

How to use MySQL and Ruby on Rails to develop a simple online complaint system

Introduction:
With the popularity of the Internet and the rapid spread of information, people have The requirements for service quality are also getting higher and higher. Online complaint systems can help companies handle user complaints efficiently and improve service quality. This article will introduce how to use MySQL and Ruby on Rails to develop a simple online complaint system and provide corresponding code examples.

  1. Create Rails Project and Database
    First, make sure you have Ruby on Rails and MySQL installed. Execute the following command on the command line to create a new Rails project:
$ rails new complaint_system
$ cd complaint_system

Next, configure the database connection information. Open the config/database.yml file and modify the corresponding configuration items of the development and test environments according to your database configuration. As shown below:

default: &default
  adapter: mysql2
  encoding: utf8
  pool: 5
  username: your_username
  password: your_password
  socket: /tmp/mysql.sock
  host: localhost

development:
  <<: *default
  database: complaint_system_development

test:
  <<: *default
  database: complaint_system_test

Then, execute the following command in the command line to create the database:

$ rake db:create
  1. Create complaint model
    In Rails, we use models to interact with the database . Execute the following command in the command line to create a model named Complaint:
$ rails generate model Complaint title:string content:text
$ rake db:migrate

This will create a Complaint model and create a complaints table in the database, which contains the title and content fields.

  1. Writing controllers and views
    Execute the following command in the command line to create a controller named Complaints:
$ rails generate controller Complaints

Then, in app/controllers/ Write the following code in complaints_controller.rb:

class ComplaintsController < ApplicationController
  def index
    @complaints = Complaint.all
  end

  def new
    @complaint = Complaint.new
  end

  def create
    @complaint = Complaint.new(complaint_params)
    if @complaint.save
      redirect_to complaints_path, notice: '投诉成功提交'
    else
      render :new
    end
  end

  private

  def complaint_params
    params.require(:complaint).permit(:title, :content)
  end
end

Create index.html.erb and new.html.erb view files in the app/views/complaints directory, and write the following code respectively:

index .html.erb:

<h1>投诉列表</h1>

<% @complaints.each do |complaint| %>
  <h2><%= complaint.title %></h2>
  <p><%= complaint.content %></p>
<% end %>

new.html.erb:

<h1>提交投诉</h1>

<%= form_with(model: @complaint, url: complaints_path) do |form| %>
  <%= form.label :title %>
  <%= form.text_field :title %>

  <%= form.label :content %>
  <%= form.text_area :content %>

  <%= form.submit '提交' %>
<% end %>
  1. Configure routing
    Open the config/routes.rb file and add the following code in it:
Rails.application.routes.draw do
  resources :complaints, only: [:index, :new, :create]
  root 'complaints#index'
end

This will configure the routing of the Complaints controller so that its corresponding action can be accessed normally.

  1. Run the application
    Now, you can start the Rails application by running the following command:
$ rails server

Then, visit http://localhost in your browser :3000, you will see the home page of the complaint system. Click the "Submit Complaint" link to access the complaint form page, fill out the form and submit your complaint. Click the "Complaint List" link to view submitted complaints.

Conclusion:
This article introduces how to use MySQL and Ruby on Rails to develop a simple online complaint system. By creating models, controllers, and views, and configuring appropriate routing, we implemented a complaint system with basic functionality. In actual development, you can further optimize and expand the system according to specific needs.

The above is a complete code example, I hope it will be helpful to you.

The above is the detailed content of How to develop a simple online complaint 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