>데이터 베이스 >MySQL 튜토리얼 >MySQL과 Ruby on Rails를 사용하여 간단한 온라인 시험 시스템을 개발하는 방법

MySQL과 Ruby on Rails를 사용하여 간단한 온라인 시험 시스템을 개발하는 방법

PHPz
PHPz원래의
2023-09-21 10:12:391508검색

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

MySQL과 Ruby on Rails를 활용하여 간단한 온라인 시험 시스템을 개발하는 방법

최근 온라인 교육이 발전하면서 온라인 시험 시스템이 더욱 주목받고 있습니다. 온라인 시험 시스템은 시험 관리, 시험 문제 관리, 점수 분석 등의 기능을 편리하게 수행할 수 있어 학생과 교사에게 큰 편의를 제공합니다. 이 기사에서는 MySQL과 Ruby on Rails(줄여서 Rails)를 사용하여 간단한 온라인 시험 시스템을 개발하는 방법을 소개하고 구체적인 코드 예제를 제공합니다.

1. 환경 준비

개발을 시작하기 전에 다음 소프트웨어와 라이브러리를 설치해야 합니다.

  1. MySQL: 시험 시스템의 데이터를 저장하는 데 사용됩니다. 공식 홈페이지에서 다운로드 및 설치가 가능합니다.
  2. Ruby: Rails는 Ruby를 기반으로 개발되었으므로 Ruby를 설치해야 합니다. Ruby 공식 웹사이트에서 다운로드하여 설치할 수 있습니다.
  3. Rails: Rails는 Ruby의 Gem 패키지 관리자를 통해 설치할 수 있는 Ruby 기반 웹 애플리케이션 개발 프레임워크입니다.

설치가 완료된 후 다음 명령을 실행하여 설치가 성공했는지 확인할 수 있습니다.

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

2. Rails 애플리케이션 생성

  1. 터미널을 열고 프로젝트를 생성하려는 디렉터리를 입력합니다.
  2. 다음 명령을 실행하여 새 Rails 프로젝트를 만듭니다.
$ rails new exam_system

이렇게 하면 Exam_system이라는 Rails 애플리케이션이 생성됩니다.

3. 데이터베이스 구성

  1. exum_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

IV. 모델 및 데이터베이스 테이블을 만듭니다.

  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. 시험 컨트롤러를 만들고 관련 작업 메서드를 작성합니다.
$ 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. 애플리케이션 실행

  1. Rails 서버를 시작하려면 터미널에서 다음 명령을 실행하세요.
$ rails s
  1. 브라우저를 열고 http를 방문하세요. ://localhost :3000/exams 모든 시험 목록을 보려면
  2. 시험 제목을 클릭하면 해당 시험의 문제 목록 페이지로 이동합니다.

이 글에서는 온라인 시험 시스템의 일부 기능만 소개합니다. 실제 개발에서는 사용자 로그인, 시험 제출, 점수 관리 등 더 많은 기능이 개선될 수 있습니다.

위 내용이 MySQL과 Ruby on Rails를 사용하여 간단한 온라인 시험 시스템을 개발하는 데 도움이 되기를 바랍니다. 학습과 실습을 통해 시스템을 더욱 확장 및 개선하고 실제 요구에 따라 맞춤형 개발을 수행할 수 있습니다.

위 내용은 MySQL과 Ruby on Rails를 사용하여 간단한 온라인 시험 시스템을 개발하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.