MySQL 및 Ruby on Rails를 사용하여 간단한 온라인 투표 시스템을 개발하는 방법
소개:
온라인 투표 시스템은 사용자가 웹 페이지에서 투표할 수 있도록 하고 투표 결과에 따라 통계 데이터를 생성하는 일반적인 응용 시나리오입니다. . 이 기사에서는 MySQL 및 Ruby on Rails 프레임워크를 사용하여 간단한 온라인 투표 시스템을 개발하는 방법을 소개하고 구체적인 코드 예제를 제공합니다.
1. 프로젝트 준비
개발을 시작하기 전에 다음 환경이 설치 및 구성되어 있는지 확인해야 합니다:
2. Rails 프로젝트 생성
먼저 명령줄을 통해 새 Rails 프로젝트를 생성합니다:
rails new vote_system
3. 데이터베이스 구성
프로젝트 디렉터리에서 config/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 계정 및 비밀번호로 바꾸세요. your_username
和 your_password
替换为你的MySQL账号和密码。
四、创建数据表
使用Rails的命令行工具生成一个投票模型和控制器:
rails generate scaffold Vote name:string count:integer rails db:migrate
以上代码将自动生成一个名为 vote
的模型,并在数据库中创建对应的数据表,该表包含两个字段: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 %>
上述代码使用了Ruby的模板引擎语法 72637aecae1027e7d023ac098a170986
来遍历投票项,并显示名称和当前票数。投票按钮通过 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
Rails 명령줄 도구를 사용하여 투표 모델 및 컨트롤러를 생성합니다.
rrreee
vote
라는 모델을 자동으로 생성하고 해당 모델을 데이터베이스 데이터 테이블에는 두 개의 필드가 포함되어 있습니다. name
은 투표 항목의 이름을 저장하고 count
는 각 투표 항목에 대한 투표 수를 저장합니다. 🎜🎜5. 투표 인터페이스 작성 🎜app/views/votes/index.html.erb 파일을 열고 기본 템플릿 코드를 다음 코드로 바꿉니다. 🎜rrreee🎜위 코드는 Ruby의 템플릿 엔진 구문 df0f89786036e190db6c2138a7ad7453
를 사용하여 투표 항목을 반복하고 이름과 현재 투표 수를 표시합니다. 투표 버튼은 link_to
메소드를 통해 생성되며 HTTP PATCH 요청을 사용하여 투표 번호를 업데이트합니다. 🎜🎜6. 투표 로직 작성🎜app/controllers/votes_controller.rb 파일을 열고 create
및 update
메소드를 다음과 같이 수정하세요. 🎜rrreee🎜위 코드에서, create
메소드는 새로운 투표 항목을 생성하는 데 사용되며, update
메소드는 투표 수를 업데이트하는 데 사용됩니다. 그 중 투표수 업데이트 로직은 '투표' 버튼을 클릭할 때마다 해당 투표 항목의 count
필드가 1씩 증가한다는 것입니다. 🎜🎜7. 서버 시작🎜Rails 서버를 시작하려면 프로젝트 루트 디렉터리에서 다음 명령을 실행하세요.🎜rrreee🎜그런 다음 브라우저에서 http://localhost:3000/votes
를 열어 액세스하세요. 투표 시스템 인터페이스. 🎜🎜결론: 🎜위 단계를 통해 우리는 MySQL과 Ruby on Rails 프레임워크를 사용하여 간단한 온라인 투표 시스템을 성공적으로 개발했습니다. 개발자는 사용자 인증 추가, 투표 옵션 정렬 및 기타 기능 등 실제 필요에 따라 시스템을 확장할 수 있습니다. 이 기사가 도움이 되기를 바랍니다! 🎜위 내용은 MySQL과 Ruby on Rails를 사용하여 간단한 온라인 투표 시스템을 개발하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!