Form Builder for Mongoid – DocumentForm
DocumentForm is a Rails3 FormBuilder DSL that aims to provide a super fast and simple form-building tool to edit Mongoid documents in Rails3. DocumentForm is a fork of formtastic.
Basic Usage
DocumentForm allows you to create a form almost without coding.
Model
class Person
include Mongoid::Document
include Mongoid::MultiParameterAttributes
validates_presence_of :name
field :name
field :secret, :private => true
field :birthday, :type => Date
field :department_number, :type => Integer, :range => 1..10
field :description, :long => true
end
View
<% document_form_for @object do |f| %>
<%= f.inputs %>
<%= f.buttons %>
<% end %>
- Fields are rendered in the declaration order.
- Fields that has :private => true option are not rendered.
File upload support
DocumentForm will render automatically file inputs for:
- Carrierwave
- Paperclip
- Any other upload library that generates a
_filename
field in your model
DocumentForm will configure automatically your form with :multipart => true
for each models that has at least a _filename
field.
Installation
Put this in your Gemfile
gem document_form
and run:
bundle install
Some advanced examples
Belongs_to association
class Person
include Mongoid::Document
referenced_in :department
end
Will render a drop down list of departments
Has many association
class Person
include Mongoid::Document
references_many :departments, :stored_as => :array
end
Will render a sequence of checkboxes to pick multiple departments
Other usage details
Please refer to formtastic documentation for a more detailed usage guide until DocumentForm documentation will be available.