Comment développer un système de questionnaire simple à l'aide de MySQL et Ruby on Rails
Introduction :
À l'ère de l'information d'aujourd'hui, les questionnaires sont une méthode de collecte de données courante et sont largement utilisés dans diverses recherches et enquêtes actives. Afin de mener des enquêtes par questionnaire de manière pratique et efficace, cet article présentera comment utiliser MySQL et Ruby on Rails pour développer un système d'enquête par questionnaire simple. Grâce à ce système, les utilisateurs peuvent créer et gérer des questionnaires, ainsi que collecter et analyser les données de réponse des utilisateurs.
1. Configuration système requise et conception fonctionnelle :
- Fonctions de gestion des utilisateurs :
a. Fonctions d'enregistrement et de connexion des utilisateurs
b. Classification des rôles des utilisateurs : utilisateurs ordinaires et administrateurs
c. fonctions : a. Créer un questionnaire - b. Modifier le questionnaire
c. Supprimer le questionnaire
d. Afficher la liste des questionnaires
Fonctions de gestion des questions :
a. questions d. Associer des questions à des questionnaires -
Fonctions de gestion des réponses :
a. Les utilisateurs remplissent des questionnaires
b. Enregistrer les données de réponse
c. Générez des graphiques et des affichages de rapports
-
2. Conception de l'architecture du système :
- Conception de la base de données :
Ce système utilise la base de données MySQL pour le stockage des données. Concevez la structure de la table de base de données comme suit :
Table utilisateur : identifiant, nom d'utilisateur, e-mail, mot de passe, rôle
Tableau questionnaire : identifiant, titre, description, statut, identifiant_utilisateur
- Tableau de questions : identifiant, contenu, type_question, identifiant_questionnaire
Tableau de feuille de réponses : id, user_id, questionnaire_id, question_id, Answer
-
- Conception du modèle :
Concevez la classe de modèle correspondante en fonction de la structure de la table de base de données et utilisez la fonction ORM de Rails pour la manipulation et l'association des données. -
- Modèle utilisateur : Utilisateur
Modèle de questionnaire : Questionnaire
- Modèle de question : Question
Modèle de réponse : Réponse
-
- Conception du contrôleur :
Concevez la classe de contrôleur correspondante pour gérer les demandes des utilisateurs et renvoyer la vue des réponses. -
- UsersController
QuestionnairesController
- QuestionsController: QuestionsController
Answer Controller: AnswersController
- Conception de la vue:
- Utilisez les modèles de vue Rails pour concevoir l'interface utilisateur, y compris l'enregistrement des utilisateurs, la connexion, la liste des questionnaires, la liste des questions, la feuille de réponses entrée et autres pages.
- 3. Étapes de mise en œuvre du système :
-
Installez et configurez la base de données MySQL : Configurez le fichier database.yml dans le projet Rails et spécifiez les informations de connexion de la base de données MySQL. -
Créer une application Rails : Utilisez la ligne de commande pour créer une nouvelle application Rails et configurer les dépendances et les gemmes associées.
Concevez la structure de la table de base de données :
Utilisez la commande du générateur Rails pour créer le fichier de migration de la base de données et écrivez la conception de la structure de la table de base de données correspondante.
- Générer des modèles et des contrôleurs :
Utilisez les commandes du générateur de Rails pour créer des fichiers de classe de modèle et de contrôleur et écrire la logique de code correspondante.
- Modèle de vue de conception :
Utilisez le modèle de vue de Rails pour concevoir l'interface utilisateur et écrire le style et la logique d'interaction de page correspondants.
- Test et débogage :
Utilisez le cadre de test de Rails pour les tests unitaires et les tests d'intégration afin de garantir la stabilité et l'exactitude du système.
- Système de déploiement et de publication :
Déployez l'application sur le serveur et configurez les variables d'environnement et les paramètres de sécurité pertinents.
-
4. Exemple de code :
- Ce qui suit est un exemple de code simple pour implémenter les fonctions d'enregistrement et de connexion des utilisateurs :
- Modèle d'utilisateur (user.rb) :
class User < ApplicationRecord
# 密码加密
has_secure_password
# 用户名和邮箱唯一性验证
validates :username, :email, presence: true, uniqueness: true
end
Copier après la connexion
Contrôleur d'utilisateur (users_controller.rb) :
class UsersController < ApplicationController
def new
@user = User.new
end
def create
@user = User.new(user_params)
if @user.save
redirect_to login_path, notice: '用户注册成功!'
else
render :new
end
end
private
def user_params
params.require(:user).permit(:username, :email, :password, :password_confirmation)
end
end
Copier après la connexion
Page d'inscription de l'utilisateur (new.html.erb) : <h2>用户注册</h2>
<%= form_for @user do |f| %>
<%= f.label :username %>
<%= f.text_field :username %>
<%= f.label :email %>
<%= f.email_field :email %>
<%= f.label :password %>
<%= f.password_field :password %>
<%= f.label :password_confirmation %>
<%= f.password_field :password_confirmation %>
<%= f.submit '注册' %>
<% end %>
Copier après la connexion
Page de connexion de l'utilisateur (login.html.erb) : <h2>用户登录</h2>
<%= form_tag login_path do %>
<%= label_tag :email %>
<%= text_field_tag :email, params[:email] %>
<%= label_tag :password %>
<%= password_field_tag :password %>
<%= submit_tag '登录' %>
<% end %>
Copier après la connexion
Résumé :
Développer un questionnaire simple à l'aide de MySQL et du système d'enquête Ruby on Rails nous aide à collecter et analyser les données de réponse des utilisateurs. Grâce à la conception des exigences et des fonctions du système, ainsi qu'à la mise en œuvre de l'architecture et du code du système, un système d'enquête par questionnaire doté de fonctions complètes et facile à utiliser peut être construit. J'espère que cet article vous aidera à comprendre et à apprendre à utiliser MySQL et Ruby on Rails pour développer un système de questionnaire. -
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!