Maison > base de données > tutoriel mysql > le corps du texte

Comment développer un système d'examen en ligne simple à l'aide de MySQL et Ruby on Rails

PHPz
Libérer: 2023-09-21 10:12:39
original
1447 Les gens l'ont consulté

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

Comment développer un système d'examen en ligne simple en utilisant MySQL et Ruby on Rails

Ces dernières années, avec le développement de l'éducation en ligne, les systèmes d'examen en ligne ont attiré de plus en plus d'attention. Le système d'examen en ligne peut facilement exécuter des fonctions telles que la gestion des examens, la gestion des questions de test et l'analyse des scores, ce qui apporte une grande commodité aux étudiants et aux enseignants. Cet article explique comment utiliser MySQL et Ruby on Rails (Rails en abrégé) pour développer un système d'examen en ligne simple et fournit des exemples de code spécifiques.

1. Préparation de l'environnement

Avant de commencer le développement, vous devez installer les logiciels et bibliothèques suivants :

  1. MySQL : utilisé pour stocker les données du système d'examen. Il peut être téléchargé et installé depuis le site officiel.
  2. Ruby : Rails est développé sur la base de Ruby, donc Ruby doit être installé. Il peut être téléchargé et installé depuis le site officiel de Ruby.
  3. Rails : Rails est un framework de développement d'applications Web basé sur Ruby qui peut être installé via le gestionnaire de packages Gem de Ruby.

Une fois l'installation terminée, vous pouvez vérifier si l'installation a réussi en exécutant la commande suivante :

$ ruby -v
$ rails -v
$ mysql -V
Copier après la connexion

2. Créez une application Rails

  1. Ouvrez le terminal et entrez le répertoire dans lequel vous souhaitez créer le projet.
  2. Exécutez la commande suivante pour créer un nouveau projet Rails :
$ rails new exam_system
Copier après la connexion

Cela créera une application Rails appelée exam_system.

3. Configurez la base de données

  1. Entrez dans le répertoire exam_system et ouvrez le fichier config/database.yml.
  2. Dans les environnements de développement et de test, modifiez la configuration par défaut de la base de données comme suit :
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
Copier après la connexion

Veuillez remplacer your_password par votre propre mot de passe MySQL.

  1. Exécutez la commande suivante dans le terminal pour créer la base de données :
$ rails db:create
Copier après la connexion

IV. Créez le modèle et la table de la base de données

  1. Créez un modèle d'examen et ajoutez-y les attributs correspondants :
$ rails g model Exam title:string time_limit:integer
Copier après la connexion
  1. Créez une question. model, Et ajoutez-y les attributs correspondants :
$ rails g model Question exam:references content:text answer_a:string answer_b:string answer_c:string answer_d:string correct_answer:integer
Copier après la connexion
  1. Exécutez la commande suivante pour effectuer la migration de la base de données :
$ rails db:migrate
Copier après la connexion

5. Écrivez les contrôleurs et les vues

  1. Créez un contrôleur d'examens et écrivez les méthodes d'action appropriées :
$ rails g controller Exams
Copier après la connexion

Dans le fichier app/controllers/exams_controller.rb, ajoutez le code suivant :

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

  def show
    @exam = Exam.find(params[:id])
    @questions = @exam.questions
  end
end
Copier après la connexion
  1. Dans le répertoire app/views/exams, créez les fichiers de vue index.html.erb et 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>
Copier après la connexion

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 %>
Copier après la connexion

6. Exécutez l'application

  1. Exécutez la commande suivante dans le terminal pour démarrer le serveur Rails :
$ rails s
Copier après la connexion
  1. Ouvrez le navigateur et visitez http ://localhost :3000/exams pour voir une liste de tous les examens.
  2. Cliquez sur le titre d'un examen pour accéder à la page de liste des questions de l'examen.

Cet article ne présente que certaines fonctions du système d'examen en ligne. Dans le développement actuel, davantage de fonctions telles que la connexion des utilisateurs, la soumission des examens et la gestion des scores peuvent être améliorées.

J'espère que le contenu ci-dessus sera utile pour développer un système d'examen en ligne simple utilisant MySQL et Ruby on Rails. Grâce à l'apprentissage et à la pratique, vous pouvez développer et améliorer davantage le système et effectuer un développement personnalisé en fonction des besoins réels.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!