要使用MySQL和Ruby on Rails開(kāi)發(fā)一個(gè)簡(jiǎn)單的在線投票系統(tǒng),需要遵循以下步驟:
安裝并配置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ù)。
創(chuàng)建一個(gè)新的Rails應(yīng)用:在命令行中運(yùn)行以下命令來(lái)創(chuàng)建一個(gè)新的Rails應(yīng)用:
rails new voting_system
配置數(shù)據(jù)庫(kù)連接:打開(kāi)config/database.yml
文件,并將其配置為連接到MySQL數(shù)據(jù)庫(kù)。確保使用正確的用戶(hù)名、密碼和數(shù)據(jù)庫(kù)名稱(chēng)。
創(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
rails db:migrate
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
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
創(chuàng)建投票系統(tǒng)的視圖:在app/views/polls
文件夾中創(chuàng)建index.html.erb
和show.html.erb
視圖文件,并使用適當(dāng)?shù)拇a來(lái)顯示投票系統(tǒng)的數(shù)據(jù)。
配置路由:打開(kāi)config/routes.rb
文件,并添加以下代碼:
Rails.application.routes.draw do
resources :polls, only: [:index, :show]
root to: 'polls#index'
end
rails server
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ò)展。