Formtastic::Helpers::FormHelper#semantic_form_for

Parsed documentation:
View on GitHub
Wrapper around Rails' own `form_for` helper to set the `:builder` option to
`Formtastic::FormBuilder` and to set some class names on the `<form>` tag such as
`formtastic` and the downcased and underscored model name (eg `post`).

See Rails' `form_for` for full documentation of all supported arguments and options.

Since `Formtastic::FormBuilder` subclasses Rails' own FormBuilder, you have access to all
of Rails' built-in form helper methods such as `text_field`, `check_box`, `radio_button`,
etc **in addition to** all of Formtastic's additional helpers like {InputsHelper#inputs inputs},
{InputsHelper#input input}, {ButtonsHelper#buttons buttons}, etc.

Most of the examples below have been adapted from the examples found in the Rails `form_for`
documentation.

@see http://api.rubyonrails.org/classes/ActionView/Helpers/FormHelper.html Rails' FormHelper documentation (`form_for`, etc)
@see http://api.rubyonrails.org/classes/ActionView/Helpers/FormBuilder.html Rails' FormBuilder documentaion (`text_field`, etc)
@see FormHelper The overview of the FormBuilder module

@example Resource-oriented form generation
  <%= semantic_form_for @user do |f| %>
    <%= f.input :name %>
    <%= f.input :email %>
    <%= f.input :password %>
  <% end %>

@example Generic form generation
  <%= semantic_form_for :user do |f| %>
    <%= f.input :name %>
    <%= f.input :email %>
    <%= f.input :password %>
  <% end %>

@example Resource-oriented with custom URL
  <%= semantic_form_for(@post, :url => super_post_path(@post)) do |f| %>
    ...
  <% end %>

@example Resource-oriented with namespaced routes
  <%= semantic_form_for([:admin, @post]) do |f| %>
    ...
  <% end %>

@example Resource-oriented with nested routes
  <%= semantic_form_for([@user, @post]) do |f| %>
    ...
  <% end %>

@example Rename the resource
  <%= semantic_form_for(@post, :as => :article) do |f| %>
    ...
  <% end %>

@example Remote forms (unobtrusive JavaScript)
  <%= semantic_form_for(@post, :remote => true) do |f| %>
    ...
  <% end %>

@example Namespaced forms all multiple Formtastic forms to exist on the one page without DOM id clashes and invalid HTML documents.
  <%= semantic_form_for(@post, :namespace => 'first') do |f| %>
    ...
  <% end %>

@example Accessing a mixture of Formtastic helpers and Rails FormBuilder helpers.
  <%= semantic_form_for(@post) do |f| %>
    <%= f.input :title %>
    <%= f.input :body %>
    <li class="something-custom">
      <label><%= f.check_box :published %></label>
    </li>
  <% end %>

@param record_or_name_or_array
  Same behavior as Rails' `form_for`

@option *args [Hash] :html
  Pass HTML attributes into the `<form>` tag. Same behavior as Rails' `form_for`, except we add in some of our own classes.

@option *args [String, Hash] :url
  A hash of URL components just like you pass into `link_to` or `url_for`, or a named route (eg `posts_path`). Same behavior as Rails' `form_for`.

@option *args [String] :namespace
Suggestions:
Please help! Open an issue on GitHub if this assessment is incorrect.