基础总结
表单开始标签:
<%= form_tag { :action => :save }, {:method => :post } %>
Use :multipart => true to define a Mime-Multipartform (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 }
<selectname="post[person_id]">
<option></option>
<option value="1"selected="selected">David</option>
<optionvalue="2">Sam</option>
<optionvalue="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,
rder => [:year, :month]
datetime_select "post", "written_on"
Rails中两种不同的表单处理方式
1.表单类型一
<div >
<%= error_messages_for 'user'%>
<fieldset>
<legend>请输入用户信息</legend>
<% form_for :user do |form| %>
Name: <%= form.text_field :username, :size=>30 %>
Password: <%= form.password_field :password, :size=> 30 %>
ConfirmPassword: <%= form.password_field:password_confirmation, :size => 30%>
<%= submit_tag "注册", : %>
<% end %>
</fieldset>
</div>
此种是对象绑定的方式,通过表单,跟Model层的对象绑定,通常完成数据的增,改功能。
2.表单类型二
<div >
<%= error_messages_for 'user'%>
<fieldset>
<legend>请输入用户信息</legend>
<% form_tag do %>
Name: <%= text_field_tag :username,params[:username], :size =>30 %>
Password: <%= password_field_tag :password,params[:password], :size => 30%>
<%= submit_tag "注册", : %>
<% end %>
</fieldset>
</div>
此种主要是为了表单传值
form_for和model绑定,而form_tag不是
form_tag想传什么参数都行,没有约束
分享到:
相关推荐
Rails表单变得容易。 简单表单旨在在帮助您使用功能强大的组件创建表单的同时尽可能地灵活。 Simple Form的基本目标是不触及定义布局的方式,而是让您为眼睛找到更好的设计。 大多数DSL都是从Formtastic继承的,...
在Ruby on Rails框架中,构建表单是一项常见的任务,而Simple Form gem就是为了简化这一过程而设计的。Simple Form是一款强大的表单构建器,它提供了一种简洁、直观的方式来创建复杂的表单,使得开发者能更专注于...
总结一下,Rails 4中的AJAX表单通过`remote: true`选项简化了前端与后端的通信,使我们能够创建无刷新的交互体验。通过在控制器中处理AJAX请求并编写相应的JavaScript响应,可以实现动态更新页面的效果。在实际项目...
提供生成动态表单的功能的Rails引擎。 要求 0.1分支 核磁共振2.5+ Rails 6.0+ 0.0.1分支 核磁共振2.3+ Rails 5.0+ 用法 现在看演示。 安装 将此行添加到您的Gemfile中: gem 'form_core' 或者您可能想直接从...
7. **辅助方法**:Rails提供了许多辅助方法,如link_to、form_for等,帮助开发者快速构建链接和表单,减少了代码量。 8. **脚手架**:Rails的scaffold命令可以自动生成基本的CRUD(创建、读取、更新、删除)功能,...
MailForm库是专门为简化这一过程而设计的,它允许开发者直接从Rails的表单中发送邮件,并且提供了I18n(国际化)支持、验证功能以及添加附件和请求信息的能力。这个库由Plataformatec开发,其最新版本为bd43996。 ...
React Rails表单助手 安装 通过npm使用 npm install --save react-rails-form-helpers 通过供应商使用 您可以从获取最新的UMD版本。 关于 该软件包提供了用于编写针对Rails的表单的组件。 该软件包的主要目的是用于...
8. **辅助方法**:Rails提供了一系列辅助方法,如`link_to`、`form_for`等,用于简化视图层的代码。 9. **测试**:Rails强调TDD(Test-Driven Development),提供了全面的测试框架,如RSpec和Minitest。学习如何...
有关可在Rails 2中使用的插件,请参见。 可以在找到示例项目,该示例如何工作。 设置 将其添加到您的Gemfile中,然后运行bundle进行安装。 gem "nested_form" 然后将其添加到application.js文件中的Asset ...
当我们需要在 rails 中创建嵌套表单时,我们使用了nested_form gem。 但是如果你使用 AngularJS 作为前端,那么你就不能使用它。 当您希望嵌套表单使用 AngularJS 时,您需要编写自己的代码。 在这个应用程序中,我...
Vue-rails-form-builder Vue.js的定制Rails表单构建器概要<%= vue_form_for User.new do |f| %> <%= f.text_field :name %><% end %> < form ... > ... < input v-model =" user....
"rails-search-form" 是一个基于 Ruby on Rails 框架的应用程序,它的主要功能是演示如何在 Rails 应用中创建和实现一个搜索表单。这个项目可能是一个教学示例或者代码库,帮助开发者了解如何在实际项目中集成用户...
简单表格扩展 此gem将自定义常用输入类型添加到简单形式。 可用输入 可以使用以下定制的简单表单输入: 布尔值 collection_check_boxes ...rails generate simple_form_extension:install 添加到您
mail_form, 在 Rails 中使用 i18n 验证附件和请求信息,直接从表单发送电子邮件 MailForm Rails 3这个 gem 构建在 ActiveModel 之上,展示如何从 Rails 中提取验证。命名和 i18n,而不需要自己实现。本自述文件指的...
bootstrap_form是一个Rails表单构建器,可以非常轻松地将Bootstrap v4样式的表单集成到Rails应用程序中。 它提供了表单助手,可以增强Rails表单助手。 bootstrap_forms的表单助手会生成form字段及其标签以及正确...
在Ruby on Rails框架中,文件上传是一个常见的需求,例如用户头像、产品图片或文档的上传。本篇文章将深入探讨Rails中的文件上传机制,并结合给定的“rails 文件上传”主题,提供关于如何在Rails应用中实现文件上传...
HTML5Validators 使用HTML5表单验证的自动客户端验证这是什么? html5_validators是Rails 3+的gem /插件,可使用ActiveModel + HTML5进行自动客户端验证。 一旦将此gem捆绑到您的应用程序上,除非您明确取消它,否则...
将此行添加到您的Gemfile中: gem 'activeform-rails' 请确保您正在运行兼容版本的Ruby,请参见下文。 快速示例 为了管理类别和用户,您可以创建一个像这样的对象: class Form include ActiveForm :: Form ...
Creating a Custom Form Builder**:详细解释了如何构建自定义表单生成器,以便更灵活地管理表单元素。 - **13. Make Pretty Graphs**:介绍了一系列技巧,帮助开发者使用 Rails 创建美观的图表。 #### 小结 ...
在视图中创建一个表单,使用`form_for`和`fields_for`辅助方法来处理文件上传: ```erb <%= form_for @user do |f| %> <%= f.label :avatar %> <%= f.file_field :avatar %> ``` 4. **处理上传** 在控制...