如何使用MySQL和Ruby on Rails開(kāi)發(fā)一個(gè)簡(jiǎn)單的在線投票系統(tǒng)

小云
81
2023-10-19 16:22:54
欄目: 云計(jì)算

要使用MySQL和Ruby on Rails開(kāi)發(fā)一個(gè)簡(jiǎn)單的在線投票系統(tǒng),需要遵循以下步驟:

  1. 安裝并配置MySQL數(shù)據(jù)庫(kù):首先,確保已在計(jì)算機(jī)上安裝MySQL數(shù)據(jù)庫(kù),并設(shè)置了正確的用戶(hù)名和密碼。創(chuàng)建一個(gè)新的數(shù)據(jù)庫(kù)來(lái)存儲(chǔ)投票系統(tǒng)的數(shù)據(jù)。

  2. 創(chuàng)建一個(gè)新的Rails應(yīng)用:在命令行中運(yùn)行以下命令來(lái)創(chuàng)建一個(gè)新的Rails應(yīng)用:

rails new voting_system
  1. 配置數(shù)據(jù)庫(kù)連接:打開(kāi)config/database.yml文件,并將其配置為連接到MySQL數(shù)據(jù)庫(kù)。確保使用正確的用戶(hù)名、密碼和數(shù)據(jù)庫(kù)名稱(chēng)。

  2. 創(chuàng)建投票系統(tǒng)的模型:在命令行中運(yùn)行以下命令來(lái)創(chuàng)建投票系統(tǒng)的模型:

rails generate model Poll title:string
rails generate model Option poll:references option_text:string
rails generate model Vote poll:references option:references
  1. 運(yùn)行數(shù)據(jù)庫(kù)遷移:在命令行中運(yùn)行以下命令來(lái)運(yùn)行數(shù)據(jù)庫(kù)遷移:
rails db:migrate
  1. 設(shè)置模型之間的關(guān)系:打開(kāi)app/models/poll.rb文件,并添加以下代碼:
class Poll < ApplicationRecord
has_many :options
has_many :votes, through: :options
end

打開(kāi)app/models/option.rb文件,并添加以下代碼:

class Option < ApplicationRecord
belongs_to :poll
has_many :votes
end

打開(kāi)app/models/vote.rb文件,并添加以下代碼:

class Vote < ApplicationRecord
belongs_to :poll
belongs_to :option
end
  1. 創(chuàng)建控制器和視圖:在命令行中運(yùn)行以下命令來(lái)創(chuàng)建控制器和視圖:
rails generate controller Polls

打開(kāi)app/controllers/polls_controller.rb文件,并添加以下代碼:

class PollsController < ApplicationController
def index
@polls = Poll.all
end
def show
@poll = Poll.find(params[:id])
end
end
  1. 創(chuàng)建投票系統(tǒng)的視圖:在app/views/polls文件夾中創(chuàng)建index.html.erbshow.html.erb視圖文件,并使用適當(dāng)?shù)拇a來(lái)顯示投票系統(tǒng)的數(shù)據(jù)。

  2. 配置路由:打開(kāi)config/routes.rb文件,并添加以下代碼:

Rails.application.routes.draw do
resources :polls, only: [:index, :show]
root to: 'polls#index'
end
  1. 運(yùn)行應(yīng)用程序:在命令行中運(yùn)行以下命令來(lái)啟動(dòng)應(yīng)用程序:
rails server
  1. 在瀏覽器中訪問(wèn)投票系統(tǒng):打開(kāi)瀏覽器,并訪問(wèn)http://localhost:3000來(lái)訪問(wèn)投票系統(tǒng)。

以上是使用MySQL和Ruby on Rails開(kāi)發(fā)一個(gè)簡(jiǎn)單的在線投票系統(tǒng)的基本步驟。你可以根據(jù)實(shí)際需求對(duì)模型、控制器和視圖進(jìn)行定制和擴(kuò)展。

0