表单开始标签:
<%= 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"
分享到:
相关推荐
- **学习路径**:继续深入学习Rails的高级特性,如Active Record模式、表单构建器等。 - **社区资源**:加入Rails官方论坛、Stack Overflow等社区获取帮助和支持。 #### 十一、文档编写技巧 - **重要性**:良好的...
例如,ActiveRecord是Rails中的一个关键组件,它提供了ORM(Object-Relational Mapping)功能,允许开发者用Ruby对象直接操作数据库,无需编写SQL语句。 在Rails中,路由(Routes)是连接URL与控制器动作的桥梁。...
7. **辅助方法**:Rails提供了许多辅助方法,如link_to、form_for等,帮助开发者快速构建链接和表单,减少了代码量。 8. **脚手架**:Rails的scaffold命令可以自动生成基本的CRUD(创建、读取、更新、删除)功能,...
- **使用SQL语句进行查找**:介绍如何直接执行SQL语句来查询数据。 - **检查对象是否存在**:展示如何使用`exists?`等方法检查对象的存在性。 - **计算**:讲解如何使用ActiveRecord计算聚合值,如计数、求和等。 - ...
Rails还提供了辅助方法,如链接生成、表单构建等,以简化视图代码。 6. **控制器** 控制器是MVC架构中的中枢,处理HTTP请求并调用模型进行业务处理。它负责填充视图的数据,并决定应重定向到哪个视图。Rails中的...
这将生成包含日期和时间选择器的表单,`default`参数用于设置默认值。 3. **time_select**辅助方法: 只需要时间选择器时,使用`time_select`: ```ruby , "start_time" %> ``` 4. **自定义样式和图片**: ...
7. **Rails助手**:各种内置助手函数简化了常见的任务,如链接生成、表单创建和视图辅助。 8. **资产管道**:Rails的资产管道整合了CSS、JavaScript和其他前端资源,通过Sass和CoffeeScript等预处理器提升开发效率...
2. 数据库集成:Rails默认使用ActiveRecord,这是ORM(对象关系映射)库,允许开发者用Ruby代码操作数据库,无需编写SQL语句。 3. RESTful设计:Rails鼓励使用REST(Representational State Transfer)架构风格,将...
《Simply Rails》是由Patrick Lenz编写的第二版书籍,旨在为初学者提供全面且深入的Ruby on Rails(简称Rails)入门指南。Rails是基于Ruby语言的一款开源Web开发框架,以其简洁、高效及DRY(Don't Repeat Yourself)...
3. **验证码生成**:为了防止自动机器人提交表单,通常会在表单中添加验证码。在Rails中,可以使用第三方库如`gem 'recaptcha'`来集成谷歌的reCAPTCHA服务,或者创建自定义的验证码生成器,通过随机字符或图片实现。...
读者将了解到Rails如何简化常见的Web开发任务,比如表单处理、数据验证等。 ### 第3章:Ruby的数据类型 Ruby作为一种动态类型的编程语言,提供了丰富的内置数据类型。本章将详细介绍各种数据类型的特点和用法,...
5. **数据库和Active Record**:Active Record是Rails中的ORM(对象关系映射),书中会详细介绍模型关联、查询语言(SQL与AR语句)、迁移和数据库设计原则。 6. **视图和模板**:Rails使用ERB或Haml等模板语言来...
3. **数据库交互**:Rails使用ActiveRecord进行数据库操作,它是ORM(Object-Relational Mapping)的一种实现,允许开发者以面向对象的方式操作数据库,无需编写SQL语句。 4. **路由**:Rails的路由系统定义了URL到...
在数据库迁移文件(如`db/migrate/xxxx_create_books.rb`)中,Rails已经为我们自动生成了创建`books`表的SQL语句。 接着,我们可以创建一个控制器来处理HTTP请求,例如`rails generate controller Books`。这会...
1. **ActiveRecord**:这是Rails中的ORM(对象关系映射)库,允许开发者通过Ruby代码与数据库进行交互,无需编写SQL语句。 2. **Convention Over Configuration (CoC)**:Rails默认提供了一套约定,如文件组织结构、...
1. **Ruby基础知识**:在开始学习Rails之前,你需要了解Ruby的基础语法,包括变量、数据类型、控制结构(如if语句和循环)、函数和类。Ruby强调简洁和表达力,理解其面向对象特性至关重要。 2. **Rails框架概念**:...
它使得开发者可以用Ruby代码直接操作数据库,无需编写SQL语句。用户可以查看、添加或继续其他用户的故事,这涉及到数据库的读写操作和并发控制。 此外,inklab可能还利用了Rails的路由系统来定义URL与控制器方法...
4. **数据库管理**: Rails默认使用ActiveRecord,这是ORM(对象关系映射)的一部分,它允许开发者用Ruby代码操作数据库,无需编写SQL语句。在"easy_journal_app"中,日记条目可能被定义为一个模型,与数据库表相对应...
Rails提供了方便的表单辅助方法,同时,模型层的验证确保数据的完整性和一致性。 8. **会话和cookies**:为了实现用户登录和权限管理,需要理解Rails中的会话和cookie机制,确保用户状态的跟踪。 9. **部署与测试*...
在这个名为"classic_literature_yoda_translator"的Rails迷你项目中,开发者旨在创造一个工具,能够接收经典诗歌、文学作品和名言警句,然后将这些内容转化为尤达语言(Yoda lingo),这是一种模仿星球大战系列中...