Rails view

从文本字段读取数据
输入视图:
<form action = "\look\at">
...
<input type="text" name="text1">
...
</form>
动作:
def at
@date = params[:text1]
end
输出视图:
<br>
Your Name is <% = @date %>
</br>

从复选框读取数据
输入视图:
<form action = "\look\at">
..
<input type="checkbox" name="check1">
..
</form>
动作:
def at
@date = params[:check1]
end
输出视图:
<br>
<% if @data %>
You clicked yes.
<% else %>
You did not click yes.
<% end %>
<br>

从单选按钮中读取数据
输入视图:
<form action="\look\at">
...
<input type="radio" name="radio1" value="red">red
<input type="radio" name="radio1" value="blue">blue
<input type="radio" name="radio1" value="green">green
...
</fomr>
动作:
def at
@data = params[:radios1]
end
输出视图:
<br>
You selected <%= @data %>.
<br>

从选择框读取数据
输入视图:
<form action = "\look\at">
Select your new car's color.
<br>
<select name="select1" >
<option value="red">red
<option value="green">green
<option value="blue">blue
</select>
<br>
<br>
<input type="submit"/>
</form>
动作:
def at
@data = params[:select1]
end
输出视图:
<br>
Your Select <% = @date %>
</br>

从选择框读取多个选择
输入视图:
<form action = "\look\at">
Select your new car's color.
<br>
<select name="select1[]" multiple size="3">
<option value="red">red
<option value="green">green
<option value="blue">blue
</select>
<br>
<br>
<input type="submit"/>
</form>
动作相同
输出视图:
<br>
You selected <% for data in @data %>
<%= data %>
<% end %>
<br>

Rails中使用HTML的快捷方法
输入视图:
<%= start_form_tag ({:action => "at"}, {:method => "post"}) %>
Please enter your name.
<br>
<%= text_field_tag ("text1", "", {"size" => 30}) %>
<br>
<br>
<input type="submit"/>
<%= end_form_tag %>
动作:
def at
@data = params[:text1]
end
def input
end
新增加了一个input方法,所以上面的视图是保存在以.rhtml结尾的文件中
输出视图:
<br>
Your name is <%= @data %>.
<br>
给start_form_tag 方法传递了一个指定动作的散列表,以及一个可选的散列表选项--有两个选项:"method"可以是"get"或"post", ":multipart"可以是"true"或"false"
使用text_field_tag 方法创建文本字段,需要将文本字段的名称,在文本字段中显示的初始文本以及一个可选的用于设置标准HTML选项--:disable,:maxsize或:size--的散列表传递给这个方法
创建复选框用check_box_tag方法,创建单选按钮使用radio_button_tag方法。
创建check_box:
<%= start_form_tag ({:action => "at"}, {:method => "post"}) %>
Would you like a raise?
<br>
<br>
<%= check_box_tag ("check1", "Yes", false) %>Yes
<br>
<br>
<input type="submit"/>
<%= end_form_tag %>
创建select:
<%= start_form_tag ({:action => "at"}, {:method => "post"}) %>
Select your new car's color.
<br>
<br>
<%= select_tag ("select1[]", "<option value='red'>red<option value='green'>green<option
value='blue'>blue", {:multiple => true}) %>
<br>
<br>
<input type="submit"/>
<%= end_form_tag %>

使用模型:
只需要在应用程序的module目录下放置一个.rb文件就能创建模型。
使用模型:在动作中创建一个模型的对象,使用这个对象的方法。
模型的代码:
class Cruncher
def crunch
return 5
end
end
使用模型:
def at
@cruncher = Cruncher.new
@data = @cruncher.crunch
end

绑定控件和模型
rails支持一系列方法--text_field,select,check_box,可以使用这些方法直接将HTML控件连接到模型。
text_field(object_name, method, {...})
object_name是模型对象的名字,method是需要与之绑定的控件的数据访问器名称,{...}是一个包含有这个文本字段的HTML设置的散列表,如{"size" => 30}
模型:
class Cruncher
attr_reader :crunch
attr_writer :crunch
def initialize(data)
@crunch = data
end
end
动作:
def at
@data_hash = params[:cruncher]
@cruncher = Cruncher.new(@data_hash[:crunch])
@data = @cruncher.crunch
end
def input
end
输入视图:
<%= start_form_tag ({:action => "at"}, {:method => "post"}) %>
Please enter your name.
<br>
<%= text_field ("cruncher", "crunch", {"size" => 30}) %>
<br>
<br>
<input type="submit"/>
<%= end_form_tag %>
输出视图:
<br>
Your name is <%= @data %>.
<br>
在视图中使用cruncher对象将文本字符中的数据绑定到这个crunch属性。
文本字符中的数据会在以:cruncher为参数的散列表中传回。
初始化控件中的数据
只需要在动作中,修改input动作:
def input
@cuncher = Cruncher.crunch
end

存储会话中的数据
session[:data] = @data
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值