A handy and flexible table / css form builder
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Uber builder

The greatest form builder for Ruby on Rails.

Why is it great?

  • Tabular forms
  • ul / li css forms
  • Easily extensible
  • Comes with a few useful extensions already
  • Comes with a FormBuilder compliant StaticBuilder to render any form built with it as static.

How do I harness this greatness?

To create a basic form:

<% form_for @user do |f| %>
  <h2>User details</h2>
  <% f.table do %>
    <% f.manual :label => "Name" do %>
      <%= f.text_field :first_name %>
      <%= f.text_field :last_name %>
    <% end %>
    <%= f.text_field :age %>
  <% end %>

Billing information

<% f.table do %> <%= f.text_field :address %> … etc. <% end %>

<% end %>

This form, out of the box, will be rendered as a table (with a class of form). To make the labels line up, you’ll want to add some CSS:

table.form td.label {

You can also render ul / li like so:

<% form_for @user do |f| %>
  <h2>User details</h2>
  <% f.ul do %>
  <% end %>
<% end %>

The ul is rendered with a class of “form”. You’ll need to add css styling to make it work. Good luck with that.

Buy one get one free

If you extract that to a partial, _form.html.erb, then you could use if as a static view or a form

# render it as a form
<% form_for @user do |f| %>
  <%= render :partial => "form", :locals => {:f => f} %>
<% end %>

# render it as static
<% form_for @user, :builder => StaticBuilder do |f| %>
  <%= render :partial => "form", :locals => {:f => f} %>
<% end %>

I want to submit a patch

  1. Fork Uber-Builder
  2. Make your modification
  3. Add tests!
  4. Make sure all existing tests pass
  5. Send me a pull request on github


Tim Harper


Graeme Mathieson for writing the original TabularFormBuilder, which I used as a starting point for UberBuilder