Heim > Datenbank > MySQL-Tutorial > So entwickeln Sie ein einfaches Online-Prüfungssystem mit MySQL und Ruby on Rails

So entwickeln Sie ein einfaches Online-Prüfungssystem mit MySQL und Ruby on Rails

PHPz
Freigeben: 2023-09-21 10:12:39
Original
1514 Leute haben es durchsucht

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

So entwickeln Sie ein einfaches Online-Prüfungssystem mit MySQL und Ruby on Rails

Mit der Entwicklung der Online-Bildung haben Online-Prüfungssysteme in den letzten Jahren immer mehr Aufmerksamkeit auf sich gezogen. Das Online-Prüfungssystem kann bequem Funktionen wie Prüfungsverwaltung, Prüfungsfragenverwaltung und Ergebnisanalyse ausführen, was für Schüler und Lehrer großen Komfort bietet. In diesem Artikel wird erläutert, wie Sie mithilfe von MySQL und Ruby on Rails (kurz Rails) ein einfaches Online-Prüfungssystem entwickeln und spezifische Codebeispiele bereitstellen.

1. Umgebungsvorbereitung

Bevor Sie mit der Entwicklung beginnen, müssen Sie die folgende Software und Bibliotheken installieren:

  1. MySQL: Wird zum Speichern der Daten des Prüfungssystems verwendet. Es kann von der offiziellen Website heruntergeladen und installiert werden.
  2. Ruby: Rails wurde auf Basis von Ruby entwickelt, daher muss Ruby installiert werden. Es kann von der offiziellen Ruby-Website heruntergeladen und installiert werden.
  3. Rails: Rails ist ein Ruby-basiertes Framework für die Entwicklung von Webanwendungen, das über den Gem-Paketmanager von Ruby installiert werden kann.

Nach Abschluss der Installation können Sie überprüfen, ob die Installation erfolgreich war, indem Sie den folgenden Befehl ausführen:

$ ruby -v
$ rails -v
$ mysql -V
Nach dem Login kopieren

2. Erstellen Sie eine Rails-Anwendung

  1. Öffnen Sie das Terminal und geben Sie das Verzeichnis ein, in dem Sie das Projekt erstellen möchten.
  2. Führen Sie den folgenden Befehl aus, um ein neues Rails-Projekt zu erstellen:
$ rails new exam_system
Nach dem Login kopieren

Dadurch wird eine Rails-Anwendung namens exam_system erstellt.

3. Konfigurieren Sie die Datenbank

  1. Geben Sie das Verzeichnis exam_system ein und öffnen Sie die Datei config/database.yml.
  2. Ändern Sie in Entwicklungs- und Testumgebungen die Standarddatenbankkonfiguration wie folgt:
development:
  adapter: mysql2
  encoding: utf8
  database: exam_system_development
  pool: 5
  username: root
  password: your_password
  host: localhost

test:
  adapter: mysql2
  encoding: utf8
  database: exam_system_test
  pool: 5
  username: root
  password: your_password
  host: localhost
Nach dem Login kopieren

Bitte ersetzen Sie Ihr_Passwort durch Ihr eigenes MySQL-Passwort.

  1. Führen Sie den folgenden Befehl im Terminal aus, um die Datenbank zu erstellen:
$ rails db:create
Nach dem Login kopieren

IV. Erstellen Sie das Modell und die Datenbanktabelle.

  1. Erstellen Sie ein Prüfungsmodell und fügen Sie ihm die entsprechenden Attribute hinzu:
$ rails g model Exam title:string time_limit:integer
Nach dem Login kopieren
  1. Erstellen Sie eine Frage Modell und fügen Sie ihm die entsprechenden Attribute hinzu:
$ rails g model Question exam:references content:text answer_a:string answer_b:string answer_c:string answer_d:string correct_answer:integer
Nach dem Login kopieren
  1. Führen Sie den folgenden Befehl aus, um die Datenbankmigration durchzuführen:
$ rails db:migrate
Nach dem Login kopieren

5. Schreiben Sie Controller und Ansichten.

  1. Erstellen Sie einen Prüfungscontroller und schreiben Sie die relevanten Aktionsmethoden:
$ rails g controller Exams
Nach dem Login kopieren

Fügen Sie in der Datei app/controllers/exams_controller.rb den folgenden Code hinzu:

class ExamsController < ApplicationController
  def index
    @exams = Exam.all
  end

  def show
    @exam = Exam.find(params[:id])
    @questions = @exam.questions
  end
end
Nach dem Login kopieren
  1. Erstellen Sie im Verzeichnis app/views/exams die Ansichtsdateien index.html.erb und show.html.erb:

index. html.erb:

<h1>所有考试</h1>

<table>
  <tr>
    <th>标题</th>
    <th>时间限制</th>
    <th>操作</th>
  </tr>

  <% @exams.each do |exam| %>
    <tr>
      <td><%= exam.title %></td>
      <td><%= exam.time_limit %>分钟</td>
      <td><%= link_to '开始考试', exam %></td>
    </tr>
  <% end %>
</table>
Nach dem Login kopieren

show.html.erb:

<h1><%= @exam.title %>考试</h1>

<h2>试题列表</h2>

<% @questions.each do |question| %>
  <h3><%= question.content %></h3>
  <ul>
    <li><%= question.answer_a %></li>
    <li><%= question.answer_b %></li>
    <li><%= question.answer_c %></li>
    <li><%= question.answer_d %></li>
  </ul>
<% end %>
Nach dem Login kopieren

6. Führen Sie die Anwendung aus

  1. Führen Sie den folgenden Befehl im Terminal aus, um den Rails-Server zu starten:
$ rails s
Nach dem Login kopieren
  1. Öffnen Sie den Browser und besuchen Sie http ://localhost :3000/exams, um eine Liste aller Prüfungen anzuzeigen.
  2. Klicken Sie auf den Titel einer Prüfung, um zur Seite mit der Prüfungsfragenliste zu springen.

In diesem Artikel werden nur einige Funktionen des Online-Prüfungssystems vorgestellt. In der tatsächlichen Entwicklung können weitere Funktionen wie Benutzeranmeldung, Prüfungseinreichung und Punkteverwaltung verbessert werden.

Ich hoffe, dass der obige Inhalt hilfreich für die Entwicklung eines einfachen Online-Prüfungssystems mit MySQL und Ruby on Rails ist. Durch Lernen und Übung können Sie das System weiter ausbauen und verbessern und eine maßgeschneiderte Entwicklung entsprechend den tatsächlichen Anforderungen durchführen.

Das obige ist der detaillierte Inhalt vonSo entwickeln Sie ein einfaches Online-Prüfungssystem mit MySQL und Ruby on Rails. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage