Skip to content

langalex/forms-fu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

enhanced form handling for rails applications

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages