Skip to content
This repository
Newer
Older
100644 636 lines (482 sloc) 26.436 kb
420b4ce7 »
2009-04-22 sick of updating the README with every version bump :)
1 h1. Formtastic
dcf8bebb » Justin French
2008-04-07 Initial Commit
2
3 Formtastic is a Rails FormBuilder DSL (with some other goodies) to make it far easier to create beautiful, semantically rich, syntactically awesome, readily stylable and wonderfully accessible HTML forms in your Rails applications.
4
cd0a1bac »
2010-11-17 pledgie image URL is a redirect, so here's the real URL
5 <a href='http://www.pledgie.com/campaigns/2178'><img alt='Click here to lend your support to: formtastic and make a donation at www.pledgie.com !' src='http://pledgie.com/campaigns/2178.png?skin_name=chrome' border='0' /></a>
1bbe8ea4 »
2010-10-08 add the pledgie badge back in, GH don't show them any more?
6
dc5857b9 »
2011-01-13 moved compatibility note in README further up
7
c462c094 »
2012-06-06 update readme, make docs clearer, remove google group, etc
8 h2. Documentation & Support
9
10 * "Documentation is available on rdoc.info":http://rdoc.info/projects/justinfrench/formtastic
11 * "We track issues & bugs on GitHub":http://github.com/justinfrench/formtastic/issues
12 * "We have a wiki on GitHub":http://github.com/justinfrench/formtastic/wiki
13 * "StackOverflow can help":http://stackoverflow.com/questions/tagged/formtastic
14 * "Follow @formtastic on Twitter for news & updates":http://twitter.com/formtastic
15
16
dc5857b9 »
2011-01-13 moved compatibility note in README further up
17 h2. Compatibility
18
a69e7b87 »
2012-01-30 note that 2.1.x is required for Rails 3.2 in README, ref #785
19 * Formtastic 2.1.x is Rails 3.x compatible
20 * Formtastic 2.0.x is Rails 3.0.x and 3.1.x compatible only
22a9af1c »
2011-09-02 prep README for 2.0
21 * Formtastic 1.x is compatible with both Rails 2 and 3, and is being maintained for bug fixes in the the "1.2-stable branch":https://github.com/justinfrench/formtastic/tree/1.2-stable. View the README in that branch for installation instructions, etc.
dc5857b9 »
2011-01-13 moved compatibility note in README further up
22 * Formtastic, much like Rails, is very ActiveRecord-centric. Many are successfully using other ActiveModel-like ORMs and objects (DataMapper, MongoMapper, Mongoid, Authlogic, Devise...) but we're not guaranteeing full compatibility at this stage. Patches are welcome!
23
24
09d957d0 » Justin French
2008-04-29 textilized the README so that it looks pretty pretty on GitHub
25 h2. The Story
dcf8bebb » Justin French
2008-04-07 Initial Commit
26
2d4a72b4 »
2009-02-16 big update to the README
27 One day, I finally had enough, so I opened up my text editor, and wrote a DSL for how I'd like to author forms:
dcf8bebb » Justin French
2008-04-07 Initial Commit
28
09d957d0 » Justin French
2008-04-29 textilized the README so that it looks pretty pretty on GitHub
29 <pre>
913215ef »
2011-09-28 use |f| consistently in README for form builder variable name
30 <%= semantic_form_for @article do |f| %>
31
32 <%= f.inputs :name => "Basic" do %>
33 <%= f.input :title %>
34 <%= f.input :body %>
35 <%= f.input :section %>
36 <%= f.input :publication_state, :as => :radio %>
37 <%= f.input :category %>
38 <%= f.input :allow_comments, :label => "Allow commenting on this article" %>
353618ed » markmansour
2009-01-13 Extending Formtastic can be done by overriding the semantic_form_buil…
39 <% end %>
40
913215ef »
2011-09-28 use |f| consistently in README for form builder variable name
41 <%= f.inputs :name => "Advanced" do %>
42 <%= f.input :keywords, :required => false, :hint => "Example: ruby, rails, forms" %>
43 <%= f.input :extract, :required => false %>
44 <%= f.input :description, :required => false %>
45 <%= f.input :url_title, :required => false %>
7e3874a1 »
2008-08-13 trying to fix README formatting of <'s at the start of lines
46 <% end %>
47
913215ef »
2011-09-28 use |f| consistently in README for form builder variable name
48 <%= f.inputs :name => "Author", :for => :author do |author_form| %>
05ae54da » josevalim
2009-03-22 Fixed nested attributes example in README
49 <%= author_form.input :first_name %>
50 <%= author_form.input :last_name %>
9997ce62 » josevalim
2009-03-07 Added more information about inputs :for in README.
51 <% end %>
52
a429c6ad »
2012-01-14 change README to use actions instead of buttons
53 <%= f.actions do %>
54 <%= f.action :submit, :as => :button %>
55 <%= f.action :cancel, :as => :link %>
7e3874a1 »
2008-08-13 trying to fix README formatting of <'s at the start of lines
56 <% end %>
09d957d0 » Justin French
2008-04-29 textilized the README so that it looks pretty pretty on GitHub
57
dcf8bebb » Justin French
2008-04-07 Initial Commit
58 <% end %>
09d957d0 » Justin French
2008-04-29 textilized the README so that it looks pretty pretty on GitHub
59 </pre>
60
6734cfd2 »
2008-07-21 sme typos and cleanups in the readme
61 I also wrote the accompanying HTML output I expected, favoring something very similar to the fieldsets, lists and other semantic elements Aaron Gustafson presented in "Learning to Love Forms":http://www.slideshare.net/AaronGustafson/learning-to-love-forms-web-directions-south-07, hacking together enough Ruby to prove it could be done.
dcf8bebb » Justin French
2008-04-07 Initial Commit
62
63
bdbe30ba »
2011-09-23 a few README clean-ups for 2.0
64 h2. It's awesome because...
9af5cc8c »
2009-02-28 Big update and re-organization of the README:
65
64d55a84 » nathanl
2011-09-26 Improve grammar, capitalization, formatting
66 * It can handle @belongs_to@ associations (like Post belongs_to :author), rendering a select or set of radio inputs with choices from the parent model.
67 * It can handle @has_many@ and @has_and_belongs_to_many@ associations (like: Post has_many :tags), rendering a multi-select with choices from the child models.
68 * It's Rails 3 compatible (including nested forms).
69 * It has internationalization (I18n)!
70 * It's _really_ quick to get started with a basic form in place (4 lines), then go back to add in more detail if you need it.
71 * There's heaps of elements, id and class attributes for you to hook in your CSS and JS.
72 * It handles real world stuff like inline hints, inline error messages & help text.
73 * It doesn't hijack or change any of the standard Rails form inputs, so you can still use them as expected (even mix and match).
74 * It's got absolutely awesome spec coverage.
75 * There's a bunch of people using and working on it (it's not just one developer building half a solution).
76 * It has growing HTML5 support (new inputs like email/phone/search, new attributes like required/min/max/step/placeholder)
9af5cc8c »
2009-02-28 Big update and re-organization of the README:
77
78
15e0bd98 » Justin French
2008-05-30 updated the README a little to match last night's slides
79 h2. Opinions
80
64d55a84 » nathanl
2011-09-26 Improve grammar, capitalization, formatting
81 * It should be easier to do things the right way than the wrong way.
82 * Sometimes _more mark-up_ is better.
83 * Elements and attribute hooks are _gold_ for stylesheet authors.
84 * Make the common things we do easy, yet ensure uncommon things are still possible.
15e0bd98 » Justin French
2008-05-30 updated the README a little to match last night's slides
85
dcf8bebb » Justin French
2008-04-07 Initial Commit
86
e3f04f66 »
2010-09-13 README installation instructions simlified and clarified to specific …
87 h2. Installation
c89e9853 »
2009-03-08 updating README with gem/plugin installation instructions
88
ebe4e51c »
2010-09-08 updated the README to reflect the new gem versions and other compatib…
89 Simply add Formtastic to your Gemfile and bundle it up:
557f9295 »
2010-08-28 updated README to reflect new 1.1.0.beta gem, etc
90
91 <pre>
22a9af1c »
2011-09-02 prep README for 2.0
92 gem 'formtastic'
557f9295 »
2010-08-28 updated README to reflect new 1.1.0.beta gem, etc
93 </pre>
94
22a9af1c »
2011-09-02 prep README for 2.0
95 Run the installation generator:
c89e9853 »
2009-03-08 updating README with gem/plugin installation instructions
96
97 <pre>
e3f04f66 »
2010-09-13 README installation instructions simlified and clarified to specific …
98 $ rails generate formtastic:install
c89e9853 »
2009-03-08 updating README with gem/plugin installation instructions
99 </pre>
100
ebe4e51c »
2010-09-08 updated the README to reflect the new gem versions and other compatib…
101
102 h2. Stylesheets
c89e9853 »
2009-03-08 updating README with gem/plugin installation instructions
103
28754a29 »
2011-06-03 updated README for asset pipeline with ie6 & 7 css
104 A proof-of-concept set of stylesheets are provided which you can include in your layout. Customization is best achieved by overriding these styles in an additional stylesheet.
4f4b069f »
2011-05-31 Rails 3.1 Asset Pipeline compatibility (Fixes #563)
105
106 h3. Stylesheet usage in Rails < 3.1:
107
108 <pre>
109 $ rails generate formtastic:install
110 </pre>
111
112 <pre>
113 # app/views/layouts/application.html.erb
114 <%= stylesheet_link_tag 'formtastic', 'my_formtastic_changes' %>
28754a29 »
2011-06-03 updated README for asset pipeline with ie6 & 7 css
115 <!--[if IE 6]><%= stylesheet_link_tag 'formtastic_ie6' %><![endif]-->
116 <!--[if IE 7]><%= stylesheet_link_tag 'formtastic_ie7' %><![endif]-->
4f4b069f »
2011-05-31 Rails 3.1 Asset Pipeline compatibility (Fixes #563)
117 </pre>
118
119 h3. Stylesheet usage in Rails >= 3.1:
120
e47ea4f3 » Brad Carson
2012-03-27 clarify docs for conditional stylesheet use in Rails 3.1+
121 Rails 3.1 introduces an asset pipeline that allows plugins like Formtastic to serve their own Stylesheets, Javascripts, etc without having to run generators that copy them across to the host application. Formtastic makes three stylesheets available as an Engine, you just need to require them in your global stylesheets.
c89e9853 »
2009-03-08 updating README with gem/plugin installation instructions
122
5c1ce48a »
2009-10-21 moved the stylesheets stuff up with installation
123 <pre>
4f4b069f »
2011-05-31 Rails 3.1 Asset Pipeline compatibility (Fixes #563)
124 # app/assets/stylesheets/application.css
125 *= require formtastic
28754a29 »
2011-06-03 updated README for asset pipeline with ie6 & 7 css
126 *= require my_formtastic_changes
e47ea4f3 » Brad Carson
2012-03-27 clarify docs for conditional stylesheet use in Rails 3.1+
127 </pre>
128
129 Conditional stylesheets need to be compiled separately to prevent them being bundled and included with other application styles. Remove @require_tree .@ from application.css and specify required stylesheets individually.
130
131 <pre>
28754a29 »
2011-06-03 updated README for asset pipeline with ie6 & 7 css
132 # app/assets/stylesheets/ie6.css
133 *= require formtastic_ie6
134
135 # app/assets/stylesheets/ie7.css
136 *= require formtastic_ie7
5c1ce48a »
2009-10-21 moved the stylesheets stuff up with installation
137 </pre>
2526d2c1 »
2009-10-11 Going back to generators instead of Rake tasks for copying stylesheet…
138
28754a29 »
2011-06-03 updated README for asset pipeline with ie6 & 7 css
139 <pre>
140 # app/views/layouts/application.html.erb
141 <%= stylesheet_link_tag 'application' %>
142 <!--[if IE 6]><%= stylesheet_link_tag 'ie6' %><![endif]-->
143 <!--[if IE 7]><%= stylesheet_link_tag 'ie7' %><![endif]-->
144 </pre>
145
e47ea4f3 » Brad Carson
2012-03-27 clarify docs for conditional stylesheet use in Rails 3.1+
146 <pre>
147 # config/environments/production.rb
148 config.assets.precompile += %w( ie6.css ie7.css )
149 </pre>
4036e741 »
2010-07-21 pruning and cleaning up the README, it's been a while
150
9af5cc8c »
2009-02-28 Big update and re-organization of the README:
151 h2. Usage
152
153 Forms are really boring to code... you want to get onto the good stuff as fast as possible.
154
a429c6ad »
2012-01-14 change README to use actions instead of buttons
155 This renders a set of inputs (one for _most_ columns in the database table, and one for each ActiveRecord @belongs_to@-association), followed by default action buttons (an input submit button):
9af5cc8c »
2009-02-28 Big update and re-organization of the README:
156
157 <pre>
913215ef »
2011-09-28 use |f| consistently in README for form builder variable name
158 <%= semantic_form_for @user do |f| %>
159 <%= f.inputs %>
a429c6ad »
2012-01-14 change README to use actions instead of buttons
160 <%= f.actions %>
9af5cc8c »
2009-02-28 Big update and re-organization of the README:
161 <% end %>
162 </pre>
163
bdbe30ba »
2011-09-23 a few README clean-ups for 2.0
164 This is a great way to get something up fast, but like scaffolding, it's *not recommended for production*. Don't be so lazy!
5018ed04 »
2010-11-05 clarified the differences in Rails 2 and 3 ERB blocks, and some other…
165
a429c6ad »
2012-01-14 change README to use actions instead of buttons
166 To specify the order of the fields, skip some of the fields or even add in fields that Formtastic couldn't infer. You can pass in a list of field names to @inputs@ and list of action names to @actions@:
9af5cc8c »
2009-02-28 Big update and re-organization of the README:
167
168 <pre>
913215ef »
2011-09-28 use |f| consistently in README for form builder variable name
169 <%= semantic_form_for @user do |f| %>
170 <%= f.inputs :title, :body, :section, :categories, :created_at %>
a429c6ad »
2012-01-14 change README to use actions instead of buttons
171 <%= f.actions :submit, :cancel %>
9af5cc8c »
2009-02-28 Big update and re-organization of the README:
172 <% end %>
173 </pre>
174
a429c6ad »
2012-01-14 change README to use actions instead of buttons
175 You probably want control over the input type Formtastic uses for each field. You can expand the @inputs@ and @actions@ to block helper format and use the @:as@ option to specify an exact input type:
9af5cc8c »
2009-02-28 Big update and re-organization of the README:
176
177 <pre>
913215ef »
2011-09-28 use |f| consistently in README for form builder variable name
178 <%= semantic_form_for @post do |f| %>
179 <%= f.inputs do %>
180 <%= f.input :title %>
181 <%= f.input :body %>
182 <%= f.input :section, :as => :radio %>
183 <%= f.input :categories %>
184 <%= f.input :created_at, :as => :string %>
9af5cc8c »
2009-02-28 Big update and re-organization of the README:
185 <% end %>
a429c6ad »
2012-01-14 change README to use actions instead of buttons
186 <%= f.actions do %>
187 <%= f.action :submit, :as => :button %>
188 <%= f.action :cancel, :as => :link %>
9af5cc8c »
2009-02-28 Big update and re-organization of the README:
189 <% end %>
190 <% end %>
191 </pre>
192
a45853c5 »
2009-04-19 small README typo
193 If you want to customize the label text, or render some hint text below the field, specify which fields are required/optional, or break the form into two fieldsets, the DSL is pretty comprehensive:
9af5cc8c »
2009-02-28 Big update and re-organization of the README:
194
195 <pre>
913215ef »
2011-09-28 use |f| consistently in README for form builder variable name
196 <%= semantic_form_for @post do |f| %>
197 <%= f.inputs "Basic", :id => "basic" do %>
198 <%= f.input :title %>
199 <%= f.input :body %>
9af5cc8c »
2009-02-28 Big update and re-organization of the README:
200 <% end %>
913215ef »
2011-09-28 use |f| consistently in README for form builder variable name
201 <%= f.inputs :name => "Advanced Options", :id => "advanced" do %>
202 <%= f.input :slug, :label => "URL Title", :hint => "Created automatically if left blank", :required => false %>
203 <%= f.input :section, :as => :radio %>
204 <%= f.input :user, :label => "Author", :member_label => :full_name %>
205 <%= f.input :categories, :required => false %>
206 <%= f.input :created_at, :as => :string, :label => "Publication Date", :required => false %>
9af5cc8c »
2009-02-28 Big update and re-organization of the README:
207 <% end %>
a429c6ad »
2012-01-14 change README to use actions instead of buttons
208 <%= f.actions do %>
390ced48 » haines
2012-01-16 Minor formatting/typo fixes
209 <%= f.action :submit %>
9af5cc8c »
2009-02-28 Big update and re-organization of the README:
210 <% end %>
211 <% end %>
212 </pre>
213
4033f270 » nathanl
2010-11-11 Small addition to documentation
214 You can create forms for nested resources:
215
216 <pre>
913215ef »
2011-09-28 use |f| consistently in README for form builder variable name
217 <%= semantic_form_for [@author, @post] do |f| %>
4033f270 » nathanl
2010-11-11 Small addition to documentation
218 </pre>
219
bcd3ba9a »
2010-10-26 some README updates
220 Nested forms are also supported (don't forget your models need to be setup correctly with @accepts_nested_attributes_for@). You can do it in the Rails way:
9af5cc8c »
2009-02-28 Big update and re-organization of the README:
221
222 <pre>
913215ef »
2011-09-28 use |f| consistently in README for form builder variable name
223 <%= semantic_form_for @post do |f| %>
224 <%= f.inputs :title, :body, :created_at %>
225 <%= f.semantic_fields_for :author do |author| %>
1fcc0681 » grimen
2009-10-25 An effort to make the README somewhat more readable.
226 <%= author.inputs :first_name, :last_name, :name => "Author" %>
41a67543 » josevalim
2009-03-24 Another README fix.
227 <% end %>
a429c6ad »
2012-01-14 change README to use actions instead of buttons
228 <%= f.actions %>
9997ce62 » josevalim
2009-03-07 Added more information about inputs :for in README.
229 <% end %>
230 </pre>
231
6fd1bd27 »
2009-04-19 improving the documentation in README
232 Or the Formtastic way with the @:for@ option:
9997ce62 » josevalim
2009-03-07 Added more information about inputs :for in README.
233
234 <pre>
913215ef »
2011-09-28 use |f| consistently in README for form builder variable name
235 <%= semantic_form_for @post do |f| %>
236 <%= f.inputs :title, :body, :created_at %>
237 <%= f.inputs :first_name, :last_name, :for => :author, :name => "Author" %>
a429c6ad »
2012-01-14 change README to use actions instead of buttons
238 <%= f.actions %>
9af5cc8c »
2009-02-28 Big update and re-organization of the README:
239 <% end %>
240 </pre>
241
64d55a84 » nathanl
2011-09-26 Improve grammar, capitalization, formatting
242 When working in has many association, you can even supply @"%i"@ in your fieldset name; they will be properly interpolated with the child index. For example:
d5e3b0a0 » josevalim
2009-03-24 Added nested child nindex support.
243
244 <pre>
913215ef »
2011-09-28 use |f| consistently in README for form builder variable name
245 <%= semantic_form_for @post do |f| %>
246 <%= f.inputs %>
247 <%= f.inputs :name => 'Category #%i', :for => :categories %>
a429c6ad »
2012-01-14 change README to use actions instead of buttons
248 <%= f.actions %>
d5e3b0a0 » josevalim
2009-03-24 Added nested child nindex support.
249 <% end %>
250 </pre>
251
8b1f0164 » mhuggins
2012-02-12 Pass current label as arguments to inputs block for nested inputs
252 Alternatively, the current index can be accessed via the `inputs` block's arguments for use anywhere:
253
254 <pre>
255 <%= semantic_form_for @post do |f| %>
256 <%= f.inputs :for => :categories do |category, i| %>
257 <% if i <= 2 %>
258 <%= f.inputs :name => "Category ##{i}" %>
259 <% else %>
260 <%= f.inputs :name => "Category ##{i} (optional)" %>
261 <% end %>
262 <% end %>
263 <%= f.actions %>
264 <% end %>
265 </pre>
266
64d55a84 » nathanl
2011-09-26 Improve grammar, capitalization, formatting
267 If you have more than one form on the same page, it may lead to HTML invalidation because of the way HTML element id attributes are assigned. You can provide a namespace for your form to ensure uniqueness of id attributes on form elements. The namespace attribute will be prefixed with underscore on the generate HTML id. For example:
d174db04 » asanghi
2010-10-24 change id_prefix to namespace; added documentation in README
268
269 <pre>
913215ef »
2011-09-28 use |f| consistently in README for form builder variable name
270 <%= semantic_form_for(@post, :namespace => 'cat_form') do |f| %>
600e013a »
2011-09-28 always use inputs() block in README examples, less chance of WTF moments
271 <%= f.inputs do %>
913215ef »
2011-09-28 use |f| consistently in README for form builder variable name
272 <%= f.input :title %> # id="cat_form_post_title"
273 <%= f.input :body %> # id="cat_form_post_body"
274 <%= f.input :created_at %> # id="cat_form_post_created_at"
600e013a »
2011-09-28 always use inputs() block in README examples, less chance of WTF moments
275 <% end %>
a429c6ad »
2012-01-14 change README to use actions instead of buttons
276 <%= f.actions %>
d174db04 » asanghi
2010-10-24 change id_prefix to namespace; added documentation in README
277 <% end %>
278 </pre>
6fd1bd27 »
2009-04-19 improving the documentation in README
279
64d55a84 » nathanl
2011-09-26 Improve grammar, capitalization, formatting
280 Customize HTML attributes for any input using the @:input_html@ option. Typically this is used to disable the input, change the size of a text field, change the rows in a textarea, or even to add a special class to an input to attach special behavior like "autogrow":http://plugins.jquery.com/project/autogrowtextarea textareas:
6fd1bd27 »
2009-04-19 improving the documentation in README
281
282 <pre>
913215ef »
2011-09-28 use |f| consistently in README for form builder variable name
283 <%= semantic_form_for @post do |f| %>
600e013a »
2011-09-28 always use inputs() block in README examples, less chance of WTF moments
284 <%= f.inputs do %>
c36692c2 »
2011-12-12 cols => size in README, fixes #753
285 <%= f.input :title, :input_html => { :size => 10 } %>
913215ef »
2011-09-28 use |f| consistently in README for form builder variable name
286 <%= f.input :body, :input_html => { :class => 'autogrow', :rows => 10, :cols => 20, :maxlength => 10 } %>
287 <%= f.input :created_at, :input_html => { :disabled => true } %>
c7b98494 » ZachBeta
2012-01-10 Added a little sample of :input_html => { :readonly => true } which I…
288 <%= f.input :updated_at, :input_html => { :readonly => true } %>
600e013a »
2011-09-28 always use inputs() block in README examples, less chance of WTF moments
289 <% end %>
a429c6ad »
2012-01-14 change README to use actions instead of buttons
290 <%= f.actions %>
6fd1bd27 »
2009-04-19 improving the documentation in README
291 <% end %>
292 </pre>
293
a429c6ad »
2012-01-14 change README to use actions instead of buttons
294 The same can be done for actions with the @:button_html@ option:
6fd1bd27 »
2009-04-19 improving the documentation in README
295
296 <pre>
913215ef »
2011-09-28 use |f| consistently in README for form builder variable name
297 <%= semantic_form_for @post do |f| %>
6fd1bd27 »
2009-04-19 improving the documentation in README
298 ...
a429c6ad »
2012-01-14 change README to use actions instead of buttons
299 <%= f.actions do %>
300 <%= f.action :submit, :button_html => { :class => "primary", :disable_with => 'Wait...' } %>
6fd1bd27 »
2009-04-19 improving the documentation in README
301 <% end %>
302 <% end %>
303 </pre>
304
64d55a84 » nathanl
2011-09-26 Improve grammar, capitalization, formatting
305 Customize the HTML attributes for the @<li>@ wrapper around every input with the @:wrapper_html@ option hash. There's one special key in the hash: (@:class@), which will actually _append_ your string of classes to the existing classes provided by Formtastic (like @"required string error"@).
1fcc0681 » grimen
2009-10-25 An effort to make the README somewhat more readable.
306
6fd1bd27 »
2009-04-19 improving the documentation in README
307 <pre>
913215ef »
2011-09-28 use |f| consistently in README for form builder variable name
308 <%= semantic_form_for @post do |f| %>
600e013a »
2011-09-28 always use inputs() block in README examples, less chance of WTF moments
309 <%= f.inputs do %>
913215ef »
2011-09-28 use |f| consistently in README for form builder variable name
310 <%= f.input :title, :wrapper_html => { :class => "important" } %>
311 <%= f.input :body %>
312 <%= f.input :description, :wrapper_html => { :style => "display:none;" } %>
600e013a »
2011-09-28 always use inputs() block in README examples, less chance of WTF moments
313 <% end %>
6fd1bd27 »
2009-04-19 improving the documentation in README
314 ...
315 <% end %>
316 </pre>
317
a92cf7cb »
2010-03-13 added documentation for :collection option, resolves #181
318 Many inputs provide a collection of options to choose from (like @:select@, @:radio@, @:check_boxes@, @:boolean@). In many cases, Formtastic can find choices through the model associations, but if you want to use your own set of choices, the @:collection@ option is what you want. You can pass in an Array of objects, an array of Strings, a Hash... Throw almost anything at it! Examples:
319
320 <pre>
f6d792f3 » denispeplin
2012-02-24 Replace deprecated "find(:all)" with "all" method
321 f.input :authors, :as => :check_boxes, :collection => User.order("last_name ASC").all
a92cf7cb »
2010-03-13 added documentation for :collection option, resolves #181
322 f.input :authors, :as => :check_boxes, :collection => current_user.company.users.active
323 f.input :authors, :as => :check_boxes, :collection => [@justin, @kate]
324 f.input :authors, :as => :check_boxes, :collection => ["Justin", "Kate", "Amelia", "Gus", "Meg"]
f6d792f3 » denispeplin
2012-02-24 Replace deprecated "find(:all)" with "all" method
325 f.input :author, :as => :select, :collection => Author.all
a92cf7cb »
2010-03-13 added documentation for :collection option, resolves #181
326 f.input :author, :as => :select, :collection => { @justin.name => @justin.id, @kate.name => @kate.id }
327 f.input :author, :as => :select, :collection => ["Justin", "Kate", "Amelia", "Gus", "Meg"]
f6d792f3 » denispeplin
2012-02-24 Replace deprecated "find(:all)" with "all" method
328 f.input :author, :as => :radio, :collection => User.all
a92cf7cb »
2010-03-13 added documentation for :collection option, resolves #181
329 f.input :author, :as => :radio, :collection => [@justin, @kate]
330 f.input :author, :as => :radio, :collection => { @justin.name => @justin.id, @kate.name => @kate.id }
331 f.input :author, :as => :radio, :collection => ["Justin", "Kate", "Amelia", "Gus", "Meg"]
332 f.input :admin, :as => :radio, :collection => ["Yes!", "No"]
f9e7ecd8 » ZachBeta
2012-03-03 Added a custom hash to the readme, should be compatable with rb 1.8.7…
333 f.input :book_id, :as => :select, :collection => Hash[Book.all.map{|b| [b.name,b.id]}]
a92cf7cb »
2010-03-13 added documentation for :collection option, resolves #181
334 </pre>
335
6fd1bd27 »
2009-04-19 improving the documentation in README
336
5a394436 »
2008-06-28 bulking up the documentation and readme with the different inputs ava…
337 h2. The Available Inputs
338
d9a06fe5 » grimen
2009-10-25 README: Last set of polishing moves for now.
339 The Formtastic input types:
340
8577c184 » grimen
2009-10-25 More README-readability polishing.
341 * @:select@ - a select menu. Default for ActiveRecord associations: @belongs_to@, @has_many@, and @has_and_belongs_to_many@.
342 * @:check_boxes@ - a set of check_box inputs. Alternative to @:select@ for ActiveRecord-associations: @has_many@, and @has_and_belongs_to_many@.
343 * @:radio@ - a set of radio inputs. Alternative to @:select@ for ActiveRecord-associations: @belongs_to@.
344 * @:time_zone@ - a select input. Default for column types: @:string@ with name matching @"time_zone"@.
345 * @:password@ - a password input. Default for column types: @:string@ with name matching @"password"@.
346 * @:text@ - a textarea. Default for column types: @:text@.
a3155470 »
2012-03-17 Rename DateInput, TimeInput, DatetimeInput:
347 * @:date_select@ - a date select. Default for column types: @:date@.
348 * @:datetime_select@ - a date and time select. Default for column types: @:datetime@ and @:timestamp@.
349 * @:time_select@ - a time select. Default for column types: @:time@.
8577c184 » grimen
2009-10-25 More README-readability polishing.
350 * @:boolean@ - a checkbox. Default for column types: @:boolean@.
351 * @:string@ - a text field. Default for column types: @:string@.
a33f4d0b »
2011-04-05 renamed NumericInput (:as => :numeric) to NumberInput (:as => :number)
352 * @:number@ - a text field (just like string). Default for column types: @:integer@, @:float@, and @:decimal@.
8577c184 » grimen
2009-10-25 More README-readability polishing.
353 * @:file@ - a file field. Default for file-attachment attributes matching: "paperclip":http://github.com/thoughtbot/paperclip or "attachment_fu":http://github.com/technoweenie/attachment_fu.
354 * @:country@ - a select menu of country names. Default for column types: :string with name @"country"@ - requires a *country_select* plugin to be installed.
e0a78747 » asanghi
2010-10-10 Added auto-guessing and updated some docs
355 * @:email@ - a text field (just like string). Default for columns with name matching @"email"@. New in HTML5. Works on some mobile browsers already.
356 * @:url@ - a text field (just like string). Default for columns with name matching @"url"@. New in HTML5. Works on some mobile browsers already.
357 * @:phone@ - a text field (just like string). Default for columns with name matching @"phone"@ or @"fax"@. New in HTML5.
358 * @:search@ - a text field (just like string). Default for columns with name matching @"search"@. New in HTML5. Works on Safari.
66888879 » grimen
2009-10-25 More README-polishing.
359 * @:hidden@ - a hidden field. Creates a hidden field (added for compatibility).
d877b6b8 »
2011-04-06 Merge branch 'refactor' of https://github.com/okonski/formtastic into…
360 * @:range@ - a slider field.
66888879 » grimen
2009-10-25 More README-polishing.
361
fd23ef4f »
2010-03-13 tiny README tweak
362 The comments in the code are pretty good for each of these (what it does, what the output is, what the options are, etc.) so go check it out.
363
5a394436 »
2008-06-28 bulking up the documentation and readme with the different inputs ava…
364
06ff25d8 » lardawge
2009-12-10 Added section clarifying label lookup order.
365 h2. Delegation for label lookups
366
367 Formtastic decides which label to use in the following order:
368
369 <pre>
370 1. :label # :label => "Choose Title"
371 2. Formtastic i18n # if either :label => true || i18n_lookups_by_default = true (see Internationalization)
372 3. Activerecord i18n # if localization file found for the given attribute
373 4. label_str_method # if nothing provided this defaults to :humanize but can be set to a custom method
374 </pre>
375
94ce3eca » grimen
2009-08-03 Documentation for the new I18n features for labels/hints.
376 h2. Internationalization (I18n)
377
49a18a52 » grimen
2009-10-25 README-update: I18n instructions are better structured, and easier to…
378 h3. Basic Localization
71ef99fd »
2009-10-21 nuked the configuration copy/paste from the README, linked to the gen…
379
64d55a84 » nathanl
2011-09-26 Improve grammar, capitalization, formatting
380 Formtastic has some neat I18n-features. ActiveRecord object names and attributes are, by default, taken from calling @@object.human_name@ and @@object.human_attribute_name(attr)@ respectively. There are a few words specific to Formtastic that can be translated. See @lib/locale/en.yml@ for more information.
94ce3eca » grimen
2009-08-03 Documentation for the new I18n features for labels/hints.
381
75782e15 » grimen
2009-09-16 Updated I18n-instructions in README; on the I18n-support for fieldset…
382 Basic localization (labels only, with ActiveRecord):
94ce3eca » grimen
2009-08-03 Documentation for the new I18n features for labels/hints.
383
384 <pre>
913215ef »
2011-09-28 use |f| consistently in README for form builder variable name
385 <%= semantic_form_for @post do |f| %>
600e013a »
2011-09-28 always use inputs() block in README examples, less chance of WTF moments
386 <%= f.inputs do %>
913215ef »
2011-09-28 use |f| consistently in README for form builder variable name
387 <%= f.input :title %> # => :label => I18n.t('activerecord.attributes.user.title') or 'Title'
388 <%= f.input :body %> # => :label => I18n.t('activerecord.attributes.user.body') or 'Body'
389 <%= f.input :section %> # => :label => I18n.t('activerecord.attributes.user.section') or 'Section'
600e013a »
2011-09-28 always use inputs() block in README examples, less chance of WTF moments
390 <% end %>
94ce3eca » grimen
2009-08-03 Documentation for the new I18n features for labels/hints.
391 <% end %>
392 </pre>
393
49a18a52 » grimen
2009-10-25 README-update: I18n instructions are better structured, and easier to…
394 *Note:* This is perfectly fine if you just want your labels/attributes and/or models to be translated using *ActiveRecord I18n attribute translations*, and you don't use input hints and legends. But what if you do? And what if you don't want same labels in all forms?
395
396 h3. Enhanced Localization (Formtastic I18n API)
94ce3eca » grimen
2009-08-03 Documentation for the new I18n features for labels/hints.
397
d9a06fe5 » grimen
2009-10-25 README: Last set of polishing moves for now.
398 Formtastic supports localized *labels*, *hints*, *legends*, *actions* using the I18n API for more advanced usage. Your forms can now be DRYer and more flexible than ever, and still fully localized. This is how:
94ce3eca » grimen
2009-08-03 Documentation for the new I18n features for labels/hints.
399
49a18a52 » grimen
2009-10-25 README-update: I18n instructions are better structured, and easier to…
400 *1. Enable I18n lookups by default (@config/initializers/formtastic.rb@):*
94ce3eca » grimen
2009-08-03 Documentation for the new I18n features for labels/hints.
401
402 <pre>
549ef7a7 »
2011-01-18 Renamed all instances of Formtastic::SemanticFormBuilder to Formtasti…
403 Formtastic::FormBuilder.i18n_lookups_by_default = true
94ce3eca » grimen
2009-08-03 Documentation for the new I18n features for labels/hints.
404 </pre>
405
49a18a52 » grimen
2009-10-25 README-update: I18n instructions are better structured, and easier to…
406 *2. Add some cool label-translations/variants (@config/locale/en.yml@):*
94ce3eca » grimen
2009-08-03 Documentation for the new I18n features for labels/hints.
407
408 <pre>
409 en:
410 formtastic:
75782e15 » grimen
2009-09-16 Updated I18n-instructions in README; on the I18n-support for fieldset…
411 titles:
412 post_details: "Post details"
94ce3eca » grimen
2009-08-03 Documentation for the new I18n features for labels/hints.
413 labels:
414 post:
13164f7f »
2011-04-05 Allow HTML5 placeholder attributes to be set on String-ish inputs (st…
415 title: "Your Title"
94ce3eca » grimen
2009-08-03 Documentation for the new I18n features for labels/hints.
416 body: "Write something..."
75782e15 » grimen
2009-09-16 Updated I18n-instructions in README; on the I18n-support for fieldset…
417 edit:
418 title: "Edit title"
94ce3eca » grimen
2009-08-03 Documentation for the new I18n features for labels/hints.
419 hints:
420 post:
64d55a84 » nathanl
2011-09-26 Improve grammar, capitalization, formatting
421 title: "Choose a good title for your post."
94ce3eca » grimen
2009-08-03 Documentation for the new I18n features for labels/hints.
422 body: "Write something inspiring here."
13164f7f »
2011-04-05 Allow HTML5 placeholder attributes to be set on String-ish inputs (st…
423 placeholders:
424 post:
425 title: "Title your post"
426 slug: "Leave blank for an automatically generated slug"
427 user:
428 email: "you@yours.com"
4aca8cd4 » grimen
2009-10-24 New I18n-features:
429 actions:
743b26b9 » yabawock
2010-05-29 Revert "Reverting two i18n patches pulled in from the rails3 branch w…
430 create: "Create my %{model}"
4aca8cd4 » grimen
2009-10-24 New I18n-features:
431 update: "Save changes"
7723de78 »
2012-01-11 Introducing actions for submit, cancel and reset buttons
432 reset: "Reset form"
433 cancel: "Cancel and go back"
4aca8cd4 » grimen
2009-10-24 New I18n-features:
434 dummie: "Launch!"
94ce3eca » grimen
2009-08-03 Documentation for the new I18n features for labels/hints.
435 </pre>
436
49a18a52 » grimen
2009-10-25 README-update: I18n instructions are better structured, and easier to…
437 *3. ...and now you'll get:*
94ce3eca » grimen
2009-08-03 Documentation for the new I18n features for labels/hints.
438
439 <pre>
913215ef »
2011-09-28 use |f| consistently in README for form builder variable name
440 <%= semantic_form_for Post.new do |f| %>
441 <%= f.inputs do %>
442 <%= f.input :title %> # => :label => "Choose a title...", :hint => "Choose a good title for your post."
443 <%= f.input :body %> # => :label => "Write something...", :hint => "Write something inspiring here."
444 <%= f.input :section %> # => :label => I18n.t('activerecord.attributes.user.section') or 'Section'
75782e15 » grimen
2009-09-16 Updated I18n-instructions in README; on the I18n-support for fieldset…
445 <% end %>
a429c6ad »
2012-01-14 change README to use actions instead of buttons
446 <%= f.actions do %>
390ced48 » haines
2012-01-16 Minor formatting/typo fixes
447 <%= f.action :submit %> # => "Create my %{model}"
4aca8cd4 » grimen
2009-10-24 New I18n-features:
448 <% end %>
94ce3eca » grimen
2009-08-03 Documentation for the new I18n features for labels/hints.
449 <% end %>
450 </pre>
451
49a18a52 » grimen
2009-10-25 README-update: I18n instructions are better structured, and easier to…
452 *4. Localized titles (a.k.a. legends):*
75782e15 » grimen
2009-09-16 Updated I18n-instructions in README; on the I18n-support for fieldset…
453
17f66680 »
2009-11-21 Revert "This reverts commit 440bd2d."
454 _Note: Slightly different because Formtastic can't guess how you group fields in a form. Legend text can be set with first (as in the sample below) specified value, or :name/:title options - depending on what flavor is preferred._
75782e15 » grimen
2009-09-16 Updated I18n-instructions in README; on the I18n-support for fieldset…
455
456 <pre>
913215ef »
2011-09-28 use |f| consistently in README for form builder variable name
457 <%= semantic_form_for @post do |f| %>
458 <%= f.inputs :post_details do %> # => :title => "Post details"
75782e15 » grimen
2009-09-16 Updated I18n-instructions in README; on the I18n-support for fieldset…
459 # ...
460 <% end %>
461 # ...
462 <% end %>
463 </pre>
464
49a18a52 » grimen
2009-10-25 README-update: I18n instructions are better structured, and easier to…
465 *5. Override I18n settings:*
94ce3eca » grimen
2009-08-03 Documentation for the new I18n features for labels/hints.
466
467 <pre>
913215ef »
2011-09-28 use |f| consistently in README for form builder variable name
468 <%= semantic_form_for @post do |f| %>
469 <%= f.inputs do %>
470 <%= f.input :title %> # => :label => "Choose a title...", :hint => "Choose a good title for your post."
471 <%= f.input :body, :hint => false %> # => :label => "Write something..."
472 <%= f.input :section, :label => 'Some section' %> # => :label => 'Some section'
75782e15 » grimen
2009-09-16 Updated I18n-instructions in README; on the I18n-support for fieldset…
473 <% end %>
a429c6ad »
2012-01-14 change README to use actions instead of buttons
474 <%= f.actions do %>
390ced48 » haines
2012-01-16 Minor formatting/typo fixes
475 <%= f.action :submit, :label => :dummie %> # => "Launch!"
4aca8cd4 » grimen
2009-10-24 New I18n-features:
476 <% end %>
94ce3eca » grimen
2009-08-03 Documentation for the new I18n features for labels/hints.
477 <% end %>
478 </pre>
479
480 If I18n-lookups is disabled, i.e.:
481
482 <pre>
549ef7a7 »
2011-01-18 Renamed all instances of Formtastic::SemanticFormBuilder to Formtasti…
483 Formtastic::FormBuilder.i18n_lookups_by_default = false
94ce3eca » grimen
2009-08-03 Documentation for the new I18n features for labels/hints.
484 </pre>
485
486 ...then you can enable I18n within the forms instead:
487
488 <pre>
913215ef »
2011-09-28 use |f| consistently in README for form builder variable name
489 <%= semantic_form_for @post do |f| %>
490 <%= f.inputs do %>
491 <%= f.input :title, :label => true %> # => :label => "Choose a title..."
492 <%= f.input :body, :label => true %> # => :label => "Write something..."
493 <%= f.input :section, :label => true %> # => :label => I18n.t('activerecord.attributes.user.section') or 'Section'
75782e15 » grimen
2009-09-16 Updated I18n-instructions in README; on the I18n-support for fieldset…
494 <% end %>
a429c6ad »
2012-01-14 change README to use actions instead of buttons
495 <%= f.actions do %>
496 <%= f.action :submit, :label => true %> # => "Update %{model}" (if we are in edit that is...)
4aca8cd4 » grimen
2009-10-24 New I18n-features:
497 <% end %>
94ce3eca » grimen
2009-08-03 Documentation for the new I18n features for labels/hints.
498 <% end %>
499 </pre>
500
49a18a52 » grimen
2009-10-25 README-update: I18n instructions are better structured, and easier to…
501 *6. Advanced I18n lookups*
94ce3eca » grimen
2009-08-03 Documentation for the new I18n features for labels/hints.
502
64d55a84 » nathanl
2011-09-26 Improve grammar, capitalization, formatting
503 For more flexible forms; Formtastic finds translations using a bottom-up approach taking the following variables in account:
94ce3eca » grimen
2009-08-03 Documentation for the new I18n features for labels/hints.
504
75782e15 » grimen
2009-09-16 Updated I18n-instructions in README; on the I18n-support for fieldset…
505 * @MODEL@, e.g. "post"
506 * @ACTION@, e.g. "edit"
4aca8cd4 » grimen
2009-10-24 New I18n-features:
507 * @KEY/ATTRIBUTE@, e.g. "title", :my_custom_key, ...
94ce3eca » grimen
2009-08-03 Documentation for the new I18n features for labels/hints.
508
509 ...in the following order:
510
66888879 » grimen
2009-10-25 More README-polishing.
511 1. @formtastic.{titles,labels,hints,actions}.MODEL.ACTION.ATTRIBUTE@ - by model and action
512 2. @formtastic.{titles,labels,hints,actions}.MODEL.ATTRIBUTE@ - by model
513 3. @formtastic.{titles,labels,hints,actions}.ATTRIBUTE@ - global default
94ce3eca » grimen
2009-08-03 Documentation for the new I18n features for labels/hints.
514
515 ...which means that you can define translations like this:
516
517 <pre>
518 en:
519 formtastic:
520 labels:
521 title: "Title" # Default global value
522 article:
523 body: "Article content"
524 post:
525 new:
526 title: "Choose a title..."
527 body: "Write something..."
528 edit:
529 title: "Edit title"
530 body: "Edit body"
531 </pre>
532
4aca8cd4 » grimen
2009-10-24 New I18n-features:
533 Values for @labels@/@hints@/@actions@ are can take values: @String@ (explicit value), @Symbol@ (i18n-lookup-key relative to the current "type", e.g. actions:), @true@ (force I18n lookup), @false@ (force no I18n lookup). Titles (legends) can only take: @String@ and @Symbol@ - true/false have no meaning.
75782e15 » grimen
2009-09-16 Updated I18n-instructions in README; on the I18n-support for fieldset…
534
71ef99fd »
2009-10-21 nuked the configuration copy/paste from the README, linked to the gen…
535
c4ebcefd » Wojciech Wnętrzak
2009-12-03 * added semantic_errors method with specs
536 h2. Semantic errors
537
91722285 » workmaster2n
2012-12-30 Typo In Semantic Error Section
538 You can show errors on base (by default) and any other attribute just by passing its name to the semantic_errors method:
c4ebcefd » Wojciech Wnętrzak
2009-12-03 * added semantic_errors method with specs
539
540 <pre>
913215ef »
2011-09-28 use |f| consistently in README for form builder variable name
541 <%= semantic_form_for @post do |f| %>
542 <%= f.semantic_errors :state %>
c4ebcefd » Wojciech Wnętrzak
2009-12-03 * added semantic_errors method with specs
543 <% end %>
544 </pre>
545
546
7687bf76 »
2011-04-04 Added support for modified and custom inputs in app/inputs/.
547 h2. Modified & Custom Inputs
ce7da5e9 »
2009-11-10 added the builder config to the config template and quick documentati…
548
eb9e523b » nathanl
2011-09-27 Better documentation for custom inputs
549 You can modify existing inputs, subclass them, or create your own from scratch. Here's the basic process:
550
551 * Create a file in @app/inputs@ with a filename ending in @_input.rb@. For example, @app/inputs/hat_size_input.rb@. Formtastic will automatically look in @app/inputs@ and find the file.
552 * In that file, declare a classname ending in @Input@. For example, @class HatSizeInput@. It must have a @to_html@ method for rendering.
553 * To use that input, leave off the word "input" in your @as@ statement. For example, @f.input(:size, :as => :hat_size)@
554
555 Specific examples follow.
556
557 h3. Changing Existing Input Behavior
558
559 To modify the behavior of @StringInput@, subclass it in a new file, @app/inputs/string_input.rb@:
ce7da5e9 »
2009-11-10 added the builder config to the config template and quick documentati…
560
7687bf76 »
2011-04-04 Added support for modified and custom inputs in app/inputs/.
561 <pre>
562 class StringInput < Formtastic::Inputs::StringInput
563 def to_html
564 puts "this is my modified version of StringInput"
565 super
566 end
567 end
568 </pre>
ce7da5e9 »
2009-11-10 added the builder config to the config template and quick documentati…
569
eb9e523b » nathanl
2011-09-27 Better documentation for custom inputs
570 You can use your modified version with @:as => :string@.
571
572 h3. Creating New Inputs Based on Existing Ones
573
574 To create your own new types of inputs based on existing inputs, the process is similar. For example, to create @FlexibleTextInput@ based on @StringInput@, put the following in @app/inputs/flexible_text_input.rb@:
ce7da5e9 »
2009-11-10 added the builder config to the config template and quick documentati…
575
28bb57f3 » paneq
2010-11-02 Resolves http://github.com/justinfrench/formtastic/issues/#issue/409
576 <pre>
d57c0548 » robinst
2011-06-02 README: Fix mention of inexistent StringTextInput
577 class FlexibleTextInput < Formtastic::Inputs::StringInput
7687bf76 »
2011-04-04 Added support for modified and custom inputs in app/inputs/.
578 def input_html_options
579 super.merge(:class => "flexible-text-area")
580 end
581 end
28bb57f3 » paneq
2010-11-02 Resolves http://github.com/justinfrench/formtastic/issues/#issue/409
582 </pre>
3f58f3a5 »
2009-12-03 README update for --controller option form generator
583
eb9e523b » nathanl
2011-09-27 Better documentation for custom inputs
584 You can use your new input with @:as => :flexible_text@.
585
586 h3. Creating New Inputs From Scratch
587
588 To create a custom @DatePickerInput@ from scratch, put the following in @app/inputs/date_picker_input.rb@:
7687bf76 »
2011-04-04 Added support for modified and custom inputs in app/inputs/.
589
590 <pre>
34d6e16b » robinst
2011-06-02 README: Fix custom input example about DatePicker
591 class DatePickerInput
592 include Formtastic::Inputs::Base
593 def to_html
594 # ...
7687bf76 »
2011-04-04 Added support for modified and custom inputs in app/inputs/.
595 end
596 end
597 </pre>
598
eb9e523b » nathanl
2011-09-27 Better documentation for custom inputs
599 You can use your new input with @:as => :date_picker@.
600
601 h3. Don't subclass Formtastic::FormBuilder anymore
602
22a9af1c »
2011-09-02 prep README for 2.0
603 It was previously recommended in Formtastic 1.x to subclass Formtastic::FormBuilder to add your own inputs. This is no longer recommended in Formtastic 2, and will not work as expected.
7687bf76 »
2011-04-04 Added support for modified and custom inputs in app/inputs/.
604
5f3d7a61 »
2010-09-21 updated the generator docs in README to reflect both Rails 3 and 2
605
2d2d8131 » yabawock
2010-07-12 More intelligent way to html_escape labels and hints (GH-299)
606 h2. Security
ce7da5e9 »
2009-11-10 added the builder config to the config template and quick documentati…
607
64d55a84 » nathanl
2011-09-26 Improve grammar, capitalization, formatting
608 By default, Formtastic escapes HTML entities in both labels and hints unless a string is marked as html_safe. If you are using an older rails version which doesn't know html_safe, or you want to globally turn this feature off, you can set the following in your initializer:
2d2d8131 » yabawock
2010-07-12 More intelligent way to html_escape labels and hints (GH-299)
609
549ef7a7 »
2011-01-18 Renamed all instances of Formtastic::SemanticFormBuilder to Formtasti…
610 Formtastic::FormBuilder.escape_html_entities_in_hints_and_labels = false
3f58f3a5 »
2009-12-03 README update for --controller option form generator
611
612
9af5cc8c »
2009-02-28 Big update and re-organization of the README:
613 h2. Dependencies
dcf8bebb » Justin French
2008-04-07 Initial Commit
614
c462c094 »
2012-06-06 update readme, make docs clearer, remove google group, etc
615 There are none other than Rails itself, but...
dcf8bebb » Justin French
2008-04-07 Initial Commit
616
64d55a84 » nathanl
2011-09-26 Improve grammar, capitalization, formatting
617 * If you want to use the @:country@ input, you'll need to install the "country-select plugin":https://github.com/chrislerum/country_select (or any other country_select plugin with the same API).
c462c094 »
2012-06-06 update readme, make docs clearer, remove google group, etc
618 * There are a bunch of development dependencies
dcf8bebb » Justin French
2008-04-07 Initial Commit
619
0b370bae »
2009-01-06 Renamed input_field_set() to just inputs() and added a shorthand vers…
620
2079c593 »
2010-01-02 added a section about contributing to README
621 h2. How to contribute
622
35e228eb »
2012-01-15 updates to README
623 * Fork the project on Github
624 * Create a topic branch for your changes
c462c094 »
2012-06-06 update readme, make docs clearer, remove google group, etc
625 * Ensure that you provide test coverage for your changes
35e228eb »
2012-01-15 updates to README
626 * Ensure that all tests pass (`bundle exec rake`)
627 * Create a pull request on Github
2079c593 »
2010-01-02 added a section about contributing to README
628
90282e3f »
2010-11-09 added twitter account to the readme
629
ba3ce055 »
2008-06-27 updated the README a little with contributors and some other busy work
630 h2. Project Info
631
35e228eb »
2012-01-15 updates to README
632 Formtastic was created by "Justin French":http://www.justinfrench.com with contributions from around 150 awesome developers. Run @git shortlog -n -s@ to see the awesome.
ba3ce055 »
2008-06-27 updated the README a little with contributors and some other busy work
633
eff38a1b »
2011-05-27 too hard to maintain the maintainers
634 The project is hosted on Github: "http://github.com/justinfrench/formtastic":http://github.com/justinfrench/formtastic, where your contributions, forkings, comments, issues and feedback are greatly welcomed.
ba3ce055 »
2008-06-27 updated the README a little with contributors and some other busy work
635
35e228eb »
2012-01-15 updates to README
636 Copyright (c) 2007-2012 Justin French, released under the MIT license.
Something went wrong with that request. Please try again.