Provides a set of methods for working with forms and especially forms related to objects assigned to the template. The following is an example of a complete form for a person object that works for both creates and updates built with all the form helpers. The @person object was assigned by an action on the controller:

  <form action="save_person" method="post">
    Name:
    <%= text_field "person", "name", "size" => 20 %>

    Password:
    <%= password_field "person", "password", "maxsize" => 20 %>

    Single?:
    <%= check_box "person", "single" %>

    Description:
    <%= text_area "person", "description", "cols" => 20 %>

    <input type="submit" value="Save">
  </form>

…is compiled to:

  <form action="save_person" method="post">
    Name:
    <input type="text" id="person_name" name="person[name]"
      size="20" value="<%= @person.name %>" />

    Password:
    <input type="password" id="person_password" name="person[password]"
      size="20" maxsize="20" value="<%= @person.password %>" />

    Single?:
    <input type="checkbox" id="person_single" name="person[single] value="1" />

    Description:
    <textarea cols="20" rows="40" id="person_description" name="person[description]">
      <%= @person.description %>
    </textarea>

    <input type="submit" value="Save">
  </form>

There’s also methods for helping to build form tags in classes/ActionView/Helpers/FormOptionsHelper.html, classes/ActionView/Helpers/DateHelper.html, and classes/ActionView/Helpers/ActiveRecordHelper.html

Methods
Public Instance methods
check_box(object, method, options = {}, value = "1")

Returns a checkbox tag tailored for accessing a specified attribute (identified by method) on an object assigned to the template (identified by object). It’s intended that method returns an integer and if that integer is above zero, then the checkbox is checked. Additional options on the input tag can be passed as a hash with options. The value defaults to 1, which is convenient for boolean values.

Example (call, result). Imagine that @post.validated? returns 1:

  check_box("post", "validated")
    <input type="checkbox" id="post_validate" name="post[validated] value="1" checked="checked" />
    # File lib/action_view/helpers/form_helper.rb, line 92
92:       def check_box(object, method, options = {}, value = "1")
93:         InstanceTag.new(object, method, binding).to_check_box_tag(options, value)
94:       end
hidden_field(object, method, options = {})

Works just like text_field, but returns a input tag of the "hidden" type instead.

    # File lib/action_view/helpers/form_helper.rb, line 67
67:       def hidden_field(object, method, options = {})
68:         InstanceTag.new(object, method, binding).to_input_field_tag("hidden", options)
69:       end
password_field(object, method, options = {})

Works just like text_field, but returns a input tag of the "password" type instead.

    # File lib/action_view/helpers/form_helper.rb, line 62
62:       def password_field(object, method, options = {})
63:         InstanceTag.new(object, method, binding).to_input_field_tag("password", options)
64:       end
text_area(object, method, options = {})

Returns a textarea opening and closing tag set tailored for accessing a specified attribute (identified by method) on an object assigned to the template (identified by object). Additional options on the input tag can be passed as a hash with options.

Example (call, result):

  text_area("post", "body", "cols" => 20, "rows" => 40)
    <textarea cols="20" rows="40" id="post_body" name="post[body]">
      #{@post.body}
    </textarea>
    # File lib/action_view/helpers/form_helper.rb, line 80
80:       def text_area(object, method, options = {})
81:         InstanceTag.new(object, method, binding).to_text_area_tag(options)
82:       end
text_field(object, method, options = {})

Returns an input tag of the "text" type tailored for accessing a specified attribute (identified by method) on an object assigned to the template (identified by object). Additional options on the input tag can be passed as a hash with options.

Examples (call, result):

  text_field("post", "title", "size" => 20)
    <input type="text" id="post_title" name="post[title]" size="20" value="#{@post.title}" />
    # File lib/action_view/helpers/form_helper.rb, line 57
57:       def text_field(object, method, options = {}) 
58:         InstanceTag.new(object, method, binding).to_input_field_tag("text", options)
59:       end