MySQL と Ruby on Rails を使用してシンプルなオンライン投票システムを開発する方法
はじめに:
オンライン投票システムは一般的なアプリケーション シナリオであり、ユーザーは次のことを行うことができます。 Web ページ上で投票が行われ、投票結果に基づいて統計が生成されます。この記事では、MySQL と Ruby on Rails フレームワークを使用して簡単なオンライン投票システムを開発する方法と、具体的なコード例を紹介します。
1. プロジェクトの準備
開発を開始する前に、次の環境がインストールおよび構成されていることを確認する必要があります:
2. Rails プロジェクトの作成
まず、コマンド ラインを使用して新しい Rails プロジェクトを作成します:
rails new vote_system
3. データベースを構成します
プロジェクト ディレクトリの database.yml ファイルで、データベース接続情報を構成します。
default: &default adapter: mysql2 encoding: utf8mb4 pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %> username: your_username password: your_password socket: /var/run/mysqld/mysqld.sock development: <<: *default database: vote_system_dev
上記のコードの your_username
と your_password
を MySQL アカウントとパスワードに置き換えます。
4. データ テーブルを作成する
Rails コマンド ライン ツールを使用して投票モデルとコントローラーを生成します:
rails generate scaffold Vote name:string count:integer rails db:migrate
上記のコードは、vote# という名前のファイルを自動的に生成します。 ## モデルを作成し、データベースに対応するデータ テーブルを作成します。このテーブルには 2 つのフィールドが含まれています:
name には投票項目の名前が格納され、
count には各項目の投票数が格納されます投票項目。
app/views/votes/index.html.erb ファイルを開き、デフォルトのテンプレート コードを次のコードに置き換えます:
<h1>在线投票系统</h1> <% @votes.each do |vote| %> <div> <h2><%= vote.name %></h2> <p>当前票数:<%= vote.count %></p> <%= link_to '投票', vote, method: :patch %> </div> <% end %>
<% %> を使用して投票項目を反復処理し、名前と現在の投票数を表示します。投票ボタンは
link_to メソッドを通じて生成され、HTTP PATCH リクエストを使用して投票数を更新します。
app/controllers/votes_controller.rb ファイルを開き、
create と
update を次のように変更します:
def create @vote = Vote.new(vote_params) respond_to do |format| if @vote.save format.html { redirect_to votes_url, notice: '投票项创建成功。' } format.json { render :index, status: :created, location: @vote } else format.html { render :new } format.json { render json: @vote.errors, status: :unprocessable_entity } end end end def update @vote = Vote.find(params[:id]) @vote.count += 1 respond_to do |format| if @vote.save format.html { redirect_to votes_url, notice: '投票成功!' } format.json { render :index, status: :ok, location: @vote } else format.html { render :index } format.json { render json: @vote.errors, status: :unprocessable_entity } end end end private def vote_params params.require(:vote).permit(:name, :count) end
create メソッドを使用して新しい投票項目を作成し、
update メソッドを使用して投票数を更新します。このうち、投票数を更新するロジックは、「投票」ボタンをクリックするたびに、対応する投票項目の
count フィールドが 1 ずつインクリメントされます。
プロジェクト ルート ディレクトリで次のコマンドを実行して、Rails サーバーを起動します:
rails server
http://localhost:3000/votes を開きます。ブラウザ で投票システム インターフェイスにアクセスします。
上記の手順により、MySQL と Ruby on Rails フレームワークを使用したシンプルなオンライン投票システムの開発に成功しました。開発者は、ユーザー認証、投票オプションの並べ替え、その他の機能の追加など、実際のニーズに応じてシステムを拡張できます。この記事がお役に立てば幸いです!
以上がMySQL と Ruby on Rails を使用してシンプルなオンライン投票システムを開発する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。