rails获取用户提供的数据,首先有一个input.html用来填写信息
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<h1>This is the parameter test page!</h1>
<br>
<form action="\look\at">
Please enter your name!
<br>
<input type="text" name="text1"/>
<br>
select from checkbox value,rails set it is "true" or "false"
<br>
<input type="checkbox" name="check1" value="yes"/>Yes
<br>
select data from radio button
<br>
<input type="radio" name="sex" value="man"/>男 <input type="radio" name="sex" value="women"/>女
select data from select button
<br>
<select name="select1">
<option value="red">red</option>
<option value="blue">blue</option>
<option value="green">green</option>
<select>
<br>
select data from select button
<br>
<select name="select2[]" multiple>
<option value="red">red</option>
<option value="blue">blue</option>
<option value="green">green</option>
<select>
<input type="submit"/>
</form>
</body>
</html>
提交到后台控制器里面处理
class LookController < ApplicationController
def at
@data=params[:text1]
@check=params[:check1]
@sex=params[:sex]
@select1=params[:select1]
@select2=params[:select2]
end
end
ActionController
class ApplicationController < ActionController::Base
helper :all # include all helpers, all the time
protect_from_forgery # See ActionController::RequestForgeryProtection for details
# Scrub sensitive parameters from your log
# filter_parameter_logging :password
end
然后是页面的展现
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK" />
<title>Untitled Document</title>
</head>
<body>
<h1>This is the parameter test page!</h1>
<br>
your name is <%=@data %>
<br>
<% if @check %>
you selected is yes!<%else %>
you selected is No!<%end %>
<br>
you selected sex is <%=@sex%>
<br>
you selected color is <%=@select1%>
<br>
you selectect color list ...
<Br>
<% for data in @select2%>
you selectect co lor is <%=data%>
<br>
<%end%>
</body>
</html>
总结:在rails框架中, 可以有多种方式来写html,这里用到的是最普通的一种。比如
<input type="text" name="text1"/>
后台controller用来获取数据使用params[:name]来获取数据,然后存在类的实例变量里面 ◎name,页面就可以访问,
这里需要注意的就是关于select的控件,如果是选择一个,那么没什么不同的,但如果是多选,则需要指明是多选的,这包括
multiple
这个关键字,还有就是名字的命名要加上[]符号。比如,这样rails才知道你是要多选,如果不加[],则被当作单选。
<select name="select2
[]" multiple>
<option value="red">red</option>
<option value="blue">blue</option>
<option value="green">green</option>
<select>