如何使用MySQL和Ruby on Rails开发一个简单的在线调查问卷
随着互联网的普及,越来越多的人开始使用在线调查问卷来获取用户的意见和反馈。使用MySQL和Ruby on Rails开发一个简单的在线调查问卷是一种快速和高效的方法。本文将介绍如何使用这两个工具来搭建一个基本的在线调查问卷应用,并提供具体的代码示例。
- 环境搭建
首先,确保已经安装了Ruby on Rails和MySQL。在终端中运行以下命令来检查:
ruby -v rails -v mysql -V
如果输出结果显示了相应的版本号,则表示已经成功安装。
- 创建数据库和表
在MySQL中创建一个名为”survey”的数据库,并在其中创建一个名为”questions”的表。表结构如下:
CREATE DATABASE survey; USE survey; CREATE TABLE questions ( id INT PRIMARY KEY AUTO_INCREMENT, text TEXT );
表中只包含两个字段:id和text。id是记录的唯一标识符,text存储问题的文本。
- 创建Rails应用
在终端中进入项目目录,运行以下命令来创建一个新的Rails应用:
rails new survey_app cd survey_app
这将创建一个名为”survey_app”的新的Rails应用,并进入该应用的目录。
- 设置数据库配置
在”config/database.yml”文件中配置MySQL数据库的连接信息。将以下代码块添加到文件中:
development: adapter: mysql2 encoding: utf8 pool: 5 username: root password: your_mysql_password database: survey_development
将”your_mysql_password”替换为你的MySQL密码,并确保数据库名称为”survey_development”。
- 生成模型和控制器
运行以下命令来生成一个名为”Question”的模型和对应的控制器:
rails generate model Question text:text rails generate controller Questions index
这将在”app/models”和”app/controllers”目录中生成相应的文件。打开”app/models/question.rb”文件,并添加以下代码:
class Question < ApplicationRecord end
打开”app/controllers/questions_controller.rb”文件,并添加以下代码:
class QuestionsController < ApplicationController def index @questions = Question.all end end
- 添加路由
打开”config/routes.rb”文件,并添加以下代码:
Rails.application.routes.draw do resources :questions, only: [:index] root 'questions#index' end
这将定义一个名为”questions#index”的根路径。
- 创建视图
在”app/views/questions”目录下创建一个名为”index.html.erb”的文件,并添加以下代码:
<h1>调查问卷</h1> <% @questions.each do |question| %> <p><%= question.text %></p> <% end %>
这将显示所有问题的文本。
- 运行应用
在终端中运行以下命令来启动应用:
rails server
在浏览器中访问”http://localhost:3000″,你将会看到一个简单的页面显示所有问题的文本。
- 添加问题
要添加问题到数据库中,可以使用Rails的命令行工具。在终端中运行以下命令:
rails console
然后运行以下命令来添加一个问题:
Question.create(text: '你最喜欢的颜色是什么?')
退出命令行工具,然后在浏览器中刷新页面,你将会看到新添加的问题出现在列表中。
总结
通过上述步骤,我们成功地使用MySQL和Ruby on Rails开发了一个简单的在线调查问卷应用。使用Rails能够快速构建应用程序骨架,并使用MySQL存储数据。希望这篇文章对于初学者来说能够提供一些指导和帮助。实际开发中还可以扩展该应用,添加更多的功能和改进用户体验。
原文来自:www.php.cn
暂无评论内容