Join GitHub today
GitHub is home to over 20 million developers working together to host and review code, manage projects, and build software together.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
|Failed to load latest commit information.|
forms-fu ====================== this plugin is intended to help in creating forms. its featureset will grow in the near future. for now it can do this: * adds a required_field?(field_name) method to all the activerecord models. this allows you to automatically mark required fields in a form with a *. required fields are determined automatically from the validates_* calls in the class. * there is a helper method available in the views that prints out the label for a field with our without star * a TabularForumBuilder class which can be used with the form_for rails helper. It automatically wraps all form fields in table rows and cells. Examples ======= # user.rb class User < ActiveRecord::Base validates_presence_of :name validates_confirmation_of :password validates_acceptance_of :terms required_fields << [:login] # in case you want to mark additional fields as required end User.required_field?(:name) # => true User.required_field?(:login) # => true User.required_field?(:password_confirmation) # => true User.required_field?(:terms) # => true User.required_field?(:email) # => false # users/new.html.erb <%= label_fu @user, :name %> # => <label for="user_name">Name *</label> <%= label_fu @user, :email %> # => <label for="user_email">Email</label> # or with the form builder <%- form_for :user, :builder => TabularFormBuilder do |f| -%> <table> <%= f.text_field :name %> </table> <%- end -%> # prints out: <form ...> <table> <tr> <th><label for="user_name">Name: *</label></th> <td><input name="user[name]" type="text"/></td> </tr> </table> </form> # some added sugar: <%= f.text_fields :email, :name, :address %> # call text_field for each of the attributes <%= f.text_field_without_label :name %> # prints out the input tag without the tr, td and label - in case you need more customization For questions, patches etc. contact alex[at]upstream-berlin.com Copyright (c) 2008 Alexander Lang, released under the MIT license