ホームページ >データベース >mysql チュートリアル >MySQL と Ruby on Rails を使用してシンプルなオンライン試験システムを開発する方法

MySQL と Ruby on Rails を使用してシンプルなオンライン試験システムを開発する方法

PHPz
PHPzオリジナル
2023-09-21 10:12:391506ブラウズ

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

MySQL と Ruby on Rails を使用したシンプルなオンライン試験システムの開発方法

近年、オンライン教育の発展に伴い、オンライン試験システムの注目度が高まっています。さらに注意してください。オンライン試験システムは、試験管理、試験問題管理、得点分析などの機能を便利に実行でき、学生や教師に大きな利便性をもたらします。この記事では、MySQL と Ruby on Rails (略して Rails) を使って簡単なオンライン試験システムを開発する方法と、具体的なコード例を紹介します。

1. 環境準備

開発を開始する前に、以下のソフトウェアとライブラリをインストールする必要があります:

  1. MySQL: 試験システムのデータを保存するために使用します。 。公式Webサイトからダウンロードしてインストールできます。
  2. Ruby: Rails は Ruby をベースに開発されているため、Ruby をインストールする必要があります。 Ruby公式サイトからダウンロードしてインストールできます。
  3. Rails: Rails は、Ruby の Gem パッケージ マネージャーを通じてインストールできる Ruby ベースの Web アプリケーション開発フレームワークです。

インストールが完了したら、次のコマンドを実行してインストールが成功したかどうかを確認できます:

$ ruby -v
$ rails -v
$ mysql -V

2. Rails アプリケーションを作成します

  1. ターミナルを開いて「プロジェクトを作成するディレクトリに移動します」と入力します。
  2. 次のコマンドを実行して、新しい Rails プロジェクトを作成します:
$ rails new exam_system

これにより、exam_system という名前の Rails アプリケーションが作成されます。

3. データベースの設定

  1. exam_system ディレクトリに入り、config/database.yml ファイルを開きます。
  2. 開発環境およびテスト環境では、デフォルトのデータベース構成を次のように変更します:
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

your_password を独自の MySQL パスワードに置き換えてください。

  1. ターミナルで次のコマンドを実行してデータベースを作成します:
$ rails db:create

4. モデルとデータベース テーブルを作成します

  1. 試験モデル、およびそれに対応する属性を追加します:
$ rails g model Exam title:string time_limit:integer
  1. 質問モデルを作成し、それに対応する属性を追加します:
$ rails g model Question exam:references content:text answer_a:string answer_b:string answer_c:string answer_d:string correct_answer:integer
  1. 実行次のコマンド データベース移行を実行するには:
$ rails db:migrate

5. コントローラーとビューを作成します

  1. Exams コントローラーを作成し、関連するアクション メソッドを作成します:
$ rails g controller Exams

app/controllers/exams_controller.rb ファイルに次のコードを追加します。

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

  def show
    @exam = Exam.find(params[:id])
    @questions = @exam.questions
  end
end
  1. app/views/exams ディレクトリに、index.html.erb および 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>

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 %>

6. アプリケーション

    # を実行します。 # #ターミナルで次のコマンドを実行して Rails サーバーを起動します:
  1. $ rails s
    ブラウザを開いて http://localhost:3000/exams にアクセスして、すべての試験のリストを表示します。
  1. 試験のタイトルをクリックすると試験問題一覧ページにジャンプします。
この記事ではオンライン試験システムの一部の機能を紹介していますが、実際の開発では、ユーザーログイン、試験提出、スコア管理など、さらに多くの機能を改善することができます。

上記の内容が、MySQL と Ruby on Rails を使った簡単なオンライン試験システムの開発に役立つことを願っています。学習と実践を通じて、システムをさらに拡張および改善し、実際のニーズに応じたカスタマイズ開発を行うことができます。

以上がMySQL と Ruby on Rails を使用してシンプルなオンライン試験システムを開発する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。