`
simgsg
  • 浏览: 95900 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

rails中的form表单总结

 
阅读更多

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="#{@post.title}" />

隐藏框:
<%= 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]">
#{@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"

分享到:
评论

相关推荐

    Ruby-SimpleForm轻松处理Rails表单

    使用`accepts_nested_attributes_for`在模型中声明,然后在表单中使用`fields_for`方法: ```ruby |address_form| %&gt; &lt;%= address_form.input :street %&gt; &lt;%= address_form.input :city %&gt; ``` 8. **标签和...

    react-rails-form-helpers:用于编写针对Rails的表单的组件

    React Rails表单助手 安装 通过npm使用 npm install --save react-rails-form-helpers 通过供应商使用 您可以从获取最新的UMD版本。 关于 该软件包提供了用于编写针对Rails的表单的组件。 该软件包的主要目的是用于...

    simple_form:简化Rails的表单! 它与简单的DSL绑定,对标记无意见

    Rails表单变得容易。 简单表单旨在在帮助您使用功能强大的组件创建表单的同时尽可能地灵活。 Simple Form的基本目标是不触及定义布局的方式,而是让您为眼睛找到更好的设计。 大多数DSL都是从Formtastic继承的,...

    mail_form, 在 Rails 中使用 i18n 验证附件和请求信息,直接从表单发送电子邮件.zip

    mail_form, 在 Rails 中使用 i18n 验证附件和请求信息,直接从表单发送电子邮件 MailForm Rails 3这个 gem 构建在 ActiveModel 之上,展示如何从 Rails 中提取验证。命名和 i18n,而不需要自己实现。本自述文件指的...

    Ruby-MailForm直接从Rails的表单发送电子邮件支持I18n验证附件和请求信息

    MailForm库是专门为简化这一过程而设计的,它允许开发者直接从Rails的表单中发送邮件,并且提供了I18n(国际化)支持、验证功能以及添加附件和请求信息的能力。这个库由Plataformatec开发,其最新版本为bd43996。 ...

    vue-rails-form-b​​uilder:Vue.js的定制Rails表单构建器

    Vue-rails-form-b​​uilder Vue.js的定制Rails表单构建器概要&lt;&#37;= vue_form_for User.new do |f| %&gt; &lt;&#37;= f.text_field :name %&gt;&lt;&#37; end %&gt; &lt; form ... &gt; ... &lt; input v-model =" user....

    rails-search-form:一个简单的 Ruby on Rails 应用程序,展示了如何实现搜索表单

    "rails-search-form" 是一个基于 Ruby on Rails 框架的应用程序,它的主要功能是演示如何在 Rails 应用中创建和实现一个搜索表单。这个项目可能是一个教学示例或者代码库,帮助开发者了解如何在实际项目中集成用户...

    Rails-4-AJAX-Form:Rails 4 AJAX表单示例

    在这个表单中,`remote: true`参数告诉Rails使用AJAX来提交表单。接下来,我们需要在控制器中处理这个AJAX请求。以`PostsController`为例,我们可能有以下代码: ```ruby def create @post = Post.new(post_params...

    rails-form_tag-readme-v-000

    Rails form_tagRails表格欢迎来到Rails表单的世界,它使用户能够将数据提交到表单字段中。 它可以用于:创建新的数据库记录,建立联系表,集成搜索引擎字段以及需要用户输入的应用程序的几乎所有其他方面。 当涉及到...

    form_core:提供生成动态表单功能的Rails引擎

    提供生成动态表单的功能的Rails引擎。 要求 0.1分支 核磁共振2.5+ Rails 6.0+ 0.0.1分支 核磁共振2.3+ Rails 5.0+ 用法 现在看演示。 安装 将此行添加到您的Gemfile中: gem 'form_core' 或者您可能想直接从...

    rails-form_tag-readme-online-web-sp-000

    欢迎来到Rails表单的世界,它使用户能够将数据提交到表单字段中。它可以用于:创建新的数据库记录,建立联系表,集成搜索引擎字段以及需要用户输入的应用程序的几乎所有其他方面。当涉及到Rails中的表单时,您会发现...

    Ruby on Rails实践

    此外,Rails的辅助方法如`link_to`和`form_for`,简化了视图中的链接和表单生成。 测试驱动开发(TDD)在Rails中被广泛采用。Rails内置了Test::Unit和RSpec等测试框架,开发者可以通过编写测试先于代码来确保程序的...

    rails-beginner-s-guide

    最后,书中还介绍了Rails中的表单构建器(Form Builder),渲染器(Renderer)和railties辅助工具(Helpers)。Rails的表单构建器简化了表单创建过程,渲染器则用于将数据渲染为不同的视图格式,而railties则是Rails...

    react-form-for:一个具有表现力和直观的 React 表单构建器,采用 Rails 的 form_for 风格

    React形式React 的富有表现力且直观的表单构建器,采用 Rails 的form_for风格例子 var React = require ( 'react' )var { Form , Fields , Field } = require ( 'react-form-for' )var { ListEditor } = require ( '...

    Rails 中页面中常用函数

    在Ruby on Rails框架中,页面中的常用函数是构建动态网页的关键元素。Rails作为一个MVC(模型-视图-控制器)架构的Web应用框架,它的视图层主要负责展示数据,而这里的`list.rhtml`就是一个典型的视图文件,用于渲染...

    bootstrap_form gem的官方存储库,这是一个Rails表单生成器,可以使使用Bootstrap 4创建外观精美的表单变得非常容易-Ruby开发

    bootstrap_form bootstrap_form是一个Rails表单构建器,可以非常轻松地将Bootstrap v4样式的表单集成到Rails应用程序中。 它提供了表单助手,可以增强Rails表单助手。 bootstrap_forms的表单助手会生成form字段及其...

    rails-form_for-edit-readme-v-000

    如果您知道如何利用form_tag方法在Rails中创建表单,您可能会想知道为什么需要学习新的表单构建过程。 让我们想象一下,您已经承担了创建世界上第一个宠物仓鼠社交网络的任务,其中一项要求是,仓鼠资料页面需要具有...

    RestFul_Rails_Dev_pdf_v_0.1.zip

    在Rails中,表单和链接(Links)的创建也遵循REST原则。例如,`form_for`辅助方法可以轻松创建用于创建和更新资源的表单,而`link_to`则用于生成链接,确保HTTP方法正确。 此外,Rails的ActiveRecord模型提供了强大...

    rails-1.0.0

    7. **辅助方法**:Rails提供了许多辅助方法,如link_to、form_for等,帮助开发者快速构建链接和表单,减少了代码量。 8. **脚手架**:Rails的scaffold命令可以自动生成基本的CRUD(创建、读取、更新、删除)功能,...

    rails-form_tag-lab-v-000

    Rails form_tag实验室目标使用form_tag构建功能性的Rails表单将路由助手作为参数传递给form_tag 将带有方法的选项散列传递给form_tag 使用text_field_tag和其他表单控件来创建输入构建一个new动作,该动作将呈现一个...

Global site tag (gtag.js) - Google Analytics