rails中的form表单总结
2014-03-13 16:02
232 查看
Rails中两种不同的表单处理方式
1.表单类型一
<div class=""class="form">
<%= error_messages_for 'user' %>
<fieldset>
<legend>请输入用户信息</legend>
<% form_for :user do |form| %>
<p>
Name: <%= form.text_field :username, :size => 30 %>
</p>
<p>
Password: <%= form.password_field :password, :size => 30 %>
</p>
<p>
ConfirmPassword: <%= form.password_field :password_confirmation, :size => 30 %>
</p>
<%= submit_tag "注册", :class => "submit" %>
<% end %>
</fieldset>
</div>
此种是对象绑定的方式,通过表单,跟Model层的对象绑定,通常完成数据的增,改功能。
2.表单类型二
<div class=""class="form">
<%= error_messages_for 'user' %>
<fieldset>
<legend>请输入用户信息</legend>
<% form_tag do %>
<p>
Name: <%= text_field_tag :username, params[:username], :size => 30 %>
</p>
<p>
Password: <%= password_field_tag :password, params[:password], :size => 30 %>
</p>
<%= submit_tag "注册", :class => "submit" %>
<% end %>
</fieldset>
</div>
此种主要是为了表单传值
form_for和model绑定,而form_tag不是
form_tag想传什么参数都行,没有约束
==================[以下内容转自网络]===================================
表单开始标签:
<%= form_tag { :action => :save }, { :method => :post } %>
Use :multipart => true to define a Mime-Multipart form (for file uploads)
表单结束标签:
<%= end_form_tag %>
文本框 Text fields
<%= text_field :modelname, :attribute_name, options %>
生成:
<input type="text" name="modelname[attribute_name]" id="attributename" />
实例:
text_field "post", "title", "size" => 20
<input type="text" id="post_title" name="post[title]"
size="20" value="}" />
隐藏框:
<%= hidden_field ... %>
密码框:
<%= password_field ... %>
文件框
<%= file_field ... %>
Rails Textarea框
<%= text_area ... %>
实例:
text_area "post", "body", "cols" => 20, "rows" => 40
<textarea cols="20" rows="40" id="post_body" name="post[body]">
}
</textarea>
单选框 Radio Buttons
<%= radio_button :modelname, :attribute, :tag_value, options %>
实例:
radio_button "post", "category", "rails"
radio_button "post", "category", "java"
<input type="radio" id="post_category" name="post[category]" value="rails"
checked="checked" />
<input type="radio" id="post_category" name="post[category]" value="java" />
多选框 Check Box
<%= check_box :modelname, :attribute, options, on_value, off_value %>
实例
check_box "post", "validated" # post.validated? returns 1 or 0
<input type="checkbox" id="post_validate" name="post[validated]"
value="1" checked="checked" />
<input name="post[validated]" type="hidden" value="0" />
check_box "puppy", "gooddog", {}, "yes", "no"
<input type="checkbox" id="puppy_gooddog" name="puppy[gooddog]" value="yes" />
<input name="puppy[gooddog]" type="hidden" value="no" />
<%= select :variable, :attribute, choices, options, html_options %>
下拉菜单框 Select Menu
select "post",
"person_id",
Person.find_all.collect {|p| [ p.name, p.id ] },
{ :include_blank => true }
<select name="post[person_id]">
<option></option>
<option value="1" selected="selected">David</option>
<option value="2">Sam</option>
<option value="3">Tobias</option>
</select>
Collection Selection
<%= collection_select :variable, :attribute, choices, :id, :value %>
日期选择框:
<%= date_select :variable, :attribute, options %>
<%= datetime_select :variable, :attribute, options %>
实例:
date_select "post", "written_on"
date_select "user", "birthday", :start_year => 1910
date_select "user", "cc_date", :start_year => 2005,
:use_month_numbers => true,
:discard_day => true,
:order => [:year, :month]
datetime_select "post", "written_on"
1.表单类型一
<div class=""class="form">
<%= error_messages_for 'user' %>
<fieldset>
<legend>请输入用户信息</legend>
<% form_for :user do |form| %>
<p>
Name: <%= form.text_field :username, :size => 30 %>
</p>
<p>
Password: <%= form.password_field :password, :size => 30 %>
</p>
<p>
ConfirmPassword: <%= form.password_field :password_confirmation, :size => 30 %>
</p>
<%= submit_tag "注册", :class => "submit" %>
<% end %>
</fieldset>
</div>
此种是对象绑定的方式,通过表单,跟Model层的对象绑定,通常完成数据的增,改功能。
2.表单类型二
<div class=""class="form">
<%= error_messages_for 'user' %>
<fieldset>
<legend>请输入用户信息</legend>
<% form_tag do %>
<p>
Name: <%= text_field_tag :username, params[:username], :size => 30 %>
</p>
<p>
Password: <%= password_field_tag :password, params[:password], :size => 30 %>
</p>
<%= submit_tag "注册", :class => "submit" %>
<% end %>
</fieldset>
</div>
此种主要是为了表单传值
form_for和model绑定,而form_tag不是
form_tag想传什么参数都行,没有约束
==================[以下内容转自网络]===================================
表单开始标签:
<%= form_tag { :action => :save }, { :method => :post } %>
Use :multipart => true to define a Mime-Multipart form (for file uploads)
表单结束标签:
<%= end_form_tag %>
文本框 Text fields
<%= text_field :modelname, :attribute_name, options %>
生成:
<input type="text" name="modelname[attribute_name]" id="attributename" />
实例:
text_field "post", "title", "size" => 20
<input type="text" id="post_title" name="post[title]"
size="20" value="}" />
隐藏框:
<%= hidden_field ... %>
密码框:
<%= password_field ... %>
文件框
<%= file_field ... %>
Rails Textarea框
<%= text_area ... %>
实例:
text_area "post", "body", "cols" => 20, "rows" => 40
<textarea cols="20" rows="40" id="post_body" name="post[body]">
}
</textarea>
单选框 Radio Buttons
<%= radio_button :modelname, :attribute, :tag_value, options %>
实例:
radio_button "post", "category", "rails"
radio_button "post", "category", "java"
<input type="radio" id="post_category" name="post[category]" value="rails"
checked="checked" />
<input type="radio" id="post_category" name="post[category]" value="java" />
多选框 Check Box
<%= check_box :modelname, :attribute, options, on_value, off_value %>
实例
check_box "post", "validated" # post.validated? returns 1 or 0
<input type="checkbox" id="post_validate" name="post[validated]"
value="1" checked="checked" />
<input name="post[validated]" type="hidden" value="0" />
check_box "puppy", "gooddog", {}, "yes", "no"
<input type="checkbox" id="puppy_gooddog" name="puppy[gooddog]" value="yes" />
<input name="puppy[gooddog]" type="hidden" value="no" />
<%= select :variable, :attribute, choices, options, html_options %>
下拉菜单框 Select Menu
select "post",
"person_id",
Person.find_all.collect {|p| [ p.name, p.id ] },
{ :include_blank => true }
<select name="post[person_id]">
<option></option>
<option value="1" selected="selected">David</option>
<option value="2">Sam</option>
<option value="3">Tobias</option>
</select>
Collection Selection
<%= collection_select :variable, :attribute, choices, :id, :value %>
日期选择框:
<%= date_select :variable, :attribute, options %>
<%= datetime_select :variable, :attribute, options %>
实例:
date_select "post", "written_on"
date_select "user", "birthday", :start_year => 1910
date_select "user", "cc_date", :start_year => 2005,
:use_month_numbers => true,
:discard_day => true,
:order => [:year, :month]
datetime_select "post", "written_on"
相关文章推荐
- rails中的form表单总结
- rails中的form表单总结
- Javascript中的Form表单知识点总结
- jquery表单插件 jquery.form(异步提交)(学习总结)
- rails上传文件时,实现form表单自动提交
- 用jQuery获取form表单值的方法总结
- 用jquery获取form表单值的方法总结
- jQuery.Form.js 异步提交表单使用总结
- elementui大型项目中form表单校验总结
- 总结:FORM中使用onSubmit="return false"防止表单自动提交,以及submit和button提交表单的区别
- jquery实现ajax提交form表单的方法总结
- jquery的ajax提交form表单方式总结
- jsp页面中的错误总结,关于form表单的button和submit按钮
- SnippetShare 项目总结连载(四)-- 让form表单处在一行
- 对于form表单的总结
- jquery实现ajax提交form表单的方法总结(转)
- 用jQuery控制form表单值的方法总结
- Form表单知识点总结
- sharepoint环境的安装及form表单验证等遇到的问题及总结。
- Javascript Form表单知识点总结