Skip to content
This repository
Newer
Older
100644 383 lines (274 sloc) 16.541 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
09d957d0 » Justin French
2008-04-29 textilized the README so that it looks pretty pretty on GitHub
5 h2. The Story
dcf8bebb » Justin French
2008-04-07 Initial Commit
6
2d4a72b4 »
2009-02-16 big update to the README
7 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
8
09d957d0 » Justin French
2008-04-29 textilized the README so that it looks pretty pretty on GitHub
9 <pre>
7e3874a1 »
2008-08-13 trying to fix README formatting of <'s at the start of lines
10 <% semantic_form_for @article do |form| %>
353618ed » markmansour
2009-01-13 Extending Formtastic can be done by overriding the semantic_form_buil…
11
0b370bae »
2009-01-06 Renamed input_field_set() to just inputs() and added a shorthand vers…
12 <% form.inputs :name => "Basic" do %>
353618ed » markmansour
2009-01-13 Extending Formtastic can be done by overriding the semantic_form_buil…
13 <%= form.input :title %>
14 <%= form.input :body %>
1db292f7 » sprsquish
2009-02-28 update README to reflect association attribute changes
15 <%= form.input :section %>
16 <%= form.input :publication_state, :as => :radio %>
9997ce62 » josevalim
2009-03-07 Added more information about inputs :for in README.
17 <%= form.input :category %>
353618ed » markmansour
2009-01-13 Extending Formtastic can be done by overriding the semantic_form_buil…
18 <%= form.input :allow_comments, :label => "Allow commenting on this article" %>
19 <% end %>
20
0b370bae »
2009-01-06 Renamed input_field_set() to just inputs() and added a shorthand vers…
21 <% form.inputs :name => "Advanced" do %>
353618ed » markmansour
2009-01-13 Extending Formtastic can be done by overriding the semantic_form_buil…
22 <%= form.input :keywords, :required => false, :hint => "Example: ruby, rails, forms" %>
7e3874a1 »
2008-08-13 trying to fix README formatting of <'s at the start of lines
23 <%= form.input :extract, :required => false %>
24 <%= form.input :description, :required => false %>
353618ed » markmansour
2009-01-13 Extending Formtastic can be done by overriding the semantic_form_buil…
25 <%= form.input :url_title, :required => false %>
7e3874a1 »
2008-08-13 trying to fix README formatting of <'s at the start of lines
26 <% end %>
27
05ae54da » josevalim
2009-03-22 Fixed nested attributes example in README
28 <% form.inputs :name => "Author", :for => :author do |author_form| %>
29 <%= author_form.input :first_name %>
30 <%= author_form.input :last_name %>
9997ce62 » josevalim
2009-03-07 Added more information about inputs :for in README.
31 <% end %>
32
353618ed » markmansour
2009-01-13 Extending Formtastic can be done by overriding the semantic_form_buil…
33 <% form.buttons do %>
34 <%= form.commit_button %>
7e3874a1 »
2008-08-13 trying to fix README formatting of <'s at the start of lines
35 <% end %>
09d957d0 » Justin French
2008-04-29 textilized the README so that it looks pretty pretty on GitHub
36
dcf8bebb » Justin French
2008-04-07 Initial Commit
37 <% end %>
09d957d0 » Justin French
2008-04-29 textilized the README so that it looks pretty pretty on GitHub
38 </pre>
39
6734cfd2 »
2008-07-21 sme typos and cleanups in the readme
40 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
41
42
9af5cc8c »
2009-02-28 Big update and re-organization of the README:
43 h2. It's better than _SomeOtherFormBuilder_ because...
44
f02b1367 »
2009-03-01 rearranged and beefed up the 'it's better than...' README section
45 * 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
46 * 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
47 * it's Rails 2.3-ready (including nested forms)
48 * it has internationalization (I18n)!
49 * 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
9af5cc8c »
2009-02-28 Big update and re-organization of the README:
50 * there's heaps of elements, id and class attributes for you to hook in your CSS and JS
f9b8879e »
2009-03-04 fix README typo
51 * it handles real world stuff like inline hints, inline error messages & help text
9af5cc8c »
2009-02-28 Big update and re-organization of the README:
52 * 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)
f02b1367 »
2009-03-01 rearranged and beefed up the 'it's better than...' README section
53 * it's got absolutely awesome spec coverage
54 * there's a bunch of people using and working on it (it's not just one developer building half a solution)
9af5cc8c »
2009-02-28 Big update and re-organization of the README:
55
56
15e0bd98 » Justin French
2008-05-30 updated the README a little to match last night's slides
57 h2. Why?
58
59 * web apps = lots of forms
60 * forms are so friggin' boring to code
61 * semantically rich & accessible forms really are possible
62 * the "V" is way behind the "M" and "C" in Rails' MVC – it's the ugly sibling
dcf8bebb » Justin French
2008-04-07 Initial Commit
63 * best practices and common patterns have to start somewhere
15e0bd98 » Justin French
2008-05-30 updated the README a little to match last night's slides
64 * i need a challenge
dcf8bebb » Justin French
2008-04-07 Initial Commit
65
66
15e0bd98 » Justin French
2008-05-30 updated the README a little to match last night's slides
67 h2. Opinions
68
69 * it should be easier to do things the right way than the wrong way
70 * sometimes _more mark-up_ is better
71 * elements and attribute hooks are _gold_ for stylesheet authors
72 * make the common things we do easy, yet still ensure uncommon things are still possible
73
dcf8bebb » Justin French
2008-04-07 Initial Commit
74
c89e9853 »
2009-03-08 updating README with gem/plugin installation instructions
75 h2. Installation
76
77 You can (and should) get it as a gem:
78
79 <pre>
80 gem install justinfrench-formtastic
81 </pre>
82
83 And then add it as a dependency in your environment.rb file:
84
85 <pre>
86 config.gem "justinfrench-formtastic",
87 :lib => 'formtastic',
420b4ce7 »
2009-04-22 sick of updating the README with every version bump :)
88 :source => 'http://gems.github.com'
c89e9853 »
2009-03-08 updating README with gem/plugin installation instructions
89 </pre>
90
91 If you're a little more old school, install it as a plugin:
92
93 <pre>
d45665bc »
2009-04-03 oh that's just embarrassing, thanks John Barratt
94 ./script/plugin install git://github.com/justinfrench/formtastic.git
c89e9853 »
2009-03-08 updating README with gem/plugin installation instructions
95 </pre>
96
97
9af5cc8c »
2009-02-28 Big update and re-organization of the README:
98 h2. Usage
99
100 Forms are really boring to code... you want to get onto the good stuff as fast as possible.
101
60da134a »
2009-04-19 small README fix since we changed which fields are rendered by default
102 This renders a set of inputs (one for _most_ columns in the database table, and one for each ActiveRecord belongs_to association), followed by a submit button:
9af5cc8c »
2009-02-28 Big update and re-organization of the README:
103
104 <pre>
105 <% semantic_form_for @user do |form| %>
106 <%= form.inputs %>
107 <%= form.buttons %>
108 <% end %>
109 </pre>
110
111 If you want to specify the order of the fields, skip some of the fields or even add in fields that Formtastic couldn't detect, you can pass in a list of field names to @inputs@ and list of button names to @buttons@:
112
113 <pre>
114 <% semantic_form_for @user do |form| %>
115 <%= form.inputs :title, :body, :section, :categories, :created_at %>
116 <%= form.buttons :commit %>
117 <% end %>
118 </pre>
119
120 If you want control over the input type Formtastic uses for each field, you can expand the @inputs@ and @buttons@ blocks. This specifies the :section input should be a set of radio buttons (rather than the default select box), and that the :created_at field should be a string (rather than the default datetime selects):
121
122 <pre>
123 <% semantic_form_for @post do |form| %>
124 <% form.inputs do %>
125 <%= form.input :title %>
126 <%= form.input :body %>
127 <%= form.input :section, :as => :radio %>
128 <%= form.input :categories %>
129 <%= form.input :created_at, :as => :string %>
130 <% end %>
131 <% form.buttons do %>
132 <%= form.commit_button %>
133 <% end %>
134 <% end %>
135 </pre>
136
a45853c5 »
2009-04-19 small README typo
137 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:
138
139 <pre>
140 <% semantic_form_for @post do |form| %>
141 <% form.inputs :name => "Basic", :id => "basic" do %>
142 <%= form.input :title %>
143 <%= form.input :body %>
144 <% end %>
145 <% form.inputs :name => "Advanced Options", :id => "advanced" do %>
146 <%= form.input :slug, :label => "URL Title", :hint => "Created automatically if left blank", :required => false %>
147 <%= form.input :section, :as => :radio %>
148 <%= form.input :user, :label => "Author", :label_method => :full_name, %>
149 <%= form.input :categories, :required => false %>
150 <%= form.input :created_at, :as => :string, :label => "Publication Date", :required => false %>
151 <% end %>
152 <% form.buttons do %>
153 <%= form.commit_button %>
154 <% end %>
155 <% end %>
156 </pre>
157
8cbbf047 » josevalim
2009-04-12 Added button_html to customize buttons.
158
9997ce62 » josevalim
2009-03-07 Added more information about inputs :for in README.
159 Nested forms (Rails 2.3) are also supported. You can do it in the Rails way:
9af5cc8c »
2009-02-28 Big update and re-organization of the README:
160
161 <pre>
05ae54da » josevalim
2009-03-22 Fixed nested attributes example in README
162 <% semantic_form_for @post do |form| %>
163 <%= form.inputs :title, :body, :created_at %>
41a67543 » josevalim
2009-03-24 Another README fix.
164 <% form.semantic_fields_for :author do |author| %>
05ae54da » josevalim
2009-03-22 Fixed nested attributes example in README
165 <%= author.inputs :first_name, :last_name, :name => 'Author' %>
41a67543 » josevalim
2009-03-24 Another README fix.
166 <% end %>
05ae54da » josevalim
2009-03-22 Fixed nested attributes example in README
167 <%= form.buttons %>
9997ce62 » josevalim
2009-03-07 Added more information about inputs :for in README.
168 <% end %>
169 </pre>
170
6fd1bd27 »
2009-04-19 improving the documentation in README
171 Or the Formtastic way with the @:for@ option:
9997ce62 » josevalim
2009-03-07 Added more information about inputs :for in README.
172
173 <pre>
05ae54da » josevalim
2009-03-22 Fixed nested attributes example in README
174 <% semantic_form_for @post do |form| %>
175 <%= form.inputs :title, :body, :created_at %>
176 <%= form.inputs :first_name, :last_name, :for => :author, :name => "Author" %>
177 <%= form.buttons %>
9af5cc8c »
2009-02-28 Big update and re-organization of the README:
178 <% end %>
179 </pre>
180
6fd1bd27 »
2009-04-19 improving the documentation in README
181 When working in has many association, you can even supply "%i" in your fieldset name that it will be properly interpolated with the child index. For example:
d5e3b0a0 » josevalim
2009-03-24 Added nested child nindex support.
182
183 <pre>
184 <% semantic_form_for @post do |form| %>
185 <%= form.inputs %>
186 <%= form.inputs :name => 'Category #%i', :for => :categories %>
187 <%= form.buttons %>
188 <% end %>
189 </pre>
190
6fd1bd27 »
2009-04-19 improving the documentation in README
191
192 Customize HTML attributes for any input using the @:input_html@ option. Typically his 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/autogrow textareas:
193
194 <pre>
195 <% semantic_form_for @post do |form| %>
196 <%= form.input :title, :input_html => { :size => 60 } %>
197 <%= form.input :body, :input_html => { :class => 'autogrow' } %>
198 <%= form.input :created_at, :input_html => { :disabled => true } %>
199 <%= form.buttons %>
200 <% end %>
201 </pre>
202
203 The same can be done for buttons with the @:button_html@ option:
204
205 <pre>
206 <% semantic_form_for @post do |form| %>
207 ...
208 <% form.buttons do %>
209 <%= form.commit_button :button_html => { :class => "primary" } %>
210 <% end %>
211 <% end %>
212 </pre>
213
214 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")
215
216 <pre>
217 <% semantic_form_for @post do |form| %>
218 <%= form.input :title, :wrapper_html => { :class => "important" } %>
219 <%= form.input :body %>
220 <%= form.input :description, :wrapper_html => { :style => "display:none;" } %>
221 ...
222 <% end %>
223 </pre>
224
225
9af5cc8c »
2009-02-28 Big update and re-organization of the README:
226
5a394436 »
2008-06-28 bulking up the documentation and readme with the different inputs ava…
227 h2. The Available Inputs
228
9af5cc8c »
2009-02-28 Big update and re-organization of the README:
229 * :select (a select menu) - default for ActiveRecord associations (belongs_to, has_many, has_and_belongs_to_many)
be644f7d » josevalim
2009-05-09 Updated documentation.
230 * :check_boxes (a set of check_box inputs) - alternative to :select has_many and has_and_belongs_to_many associations
9af5cc8c »
2009-02-28 Big update and re-organization of the README:
231 * :radio (a set of radio inputs) - alternative to :select for ActiveRecord belongs_to associations
07380d4d » josevalim
2009-04-18 Added :time_zone input information to README.
232 * :time_zone (a select input) - default for :string column types with 'time_zone' in the method name
5a394436 »
2008-06-28 bulking up the documentation and readme with the different inputs ava…
233 * :password (a password input) - default for :string column types with 'password' in the method name
234 * :text (a textarea) - default for :text column types
235 * :date (a date select) - default for :date column types
236 * :datetime (a date and time select) - default for :datetime and :timestamp column types
237 * :time (a time select) - default for :time column types
238 * :boolean (a checkbox) - default for :boolean column types
239 * :string (a text field) - default for :string column types
240 * :numeric (a text field, like string) - default for :integer, :float and :decimal column types
945b76cb » sprsquish
2009-02-16 Add detection for Paperclip and AttachmentFu attributes.
241 * :file (a file field) - default for paperclip or attachment_fu attributes
82394788 »
2009-05-12 Added :as => :country as a new input option (default for :string colu…
242 * :country (a select menu of country names) - default for :string columns named "country", requires a country_select plugin to be installed
2e9e7c5a » josevalim
2009-05-20 Added :as => :hidden support.
243 * :hidden (a hidden field) - creates a hidden field (added for compatibility)
82394788 »
2009-05-12 Added :as => :country as a new input option (default for :string colu…
244
5a394436 »
2008-06-28 bulking up the documentation and readme with the different inputs ava…
245
9af5cc8c »
2009-02-28 Big update and re-organization of the README:
246 The documentation is pretty good for each of these (what it does, what the output is, what the options are, etc) so go check it out.
5a394436 »
2008-06-28 bulking up the documentation and readme with the different inputs ava…
247
248
249 h2. Configuration
250
251 If you wish, put something like this in config/initializers/formtastic_config.rb:
252
253 <pre>
3a32b4a8 » josevalim
2009-03-04 Updated README with new configuration options.
254 # Set the default text field size when input is a string. Default is 50
255 Formtastic::SemanticFormBuilder.default_text_field_size = 30
256
2d4a72b4 »
2009-02-16 big update to the README
257 # Should all fields be considered "required" by default
258 # Defaults to true, see ValidationReflection notes below
ee26f189 » sprsquish
2009-02-16 Remove JustinFrench namespace and add deprecation message for anyone …
259 Formtastic::SemanticFormBuilder.all_fields_required_by_default = false
2d4a72b4 »
2009-02-16 big update to the README
260
261 # Set the string that will be appended to the labels/fieldsets which are required
3a32b4a8 » josevalim
2009-03-04 Updated README with new configuration options.
262 # It accepts string or procs and the default is a localized version of
263 # '<abbr title="required">*</abbr>'. In other words, if you configure formtastic.required
264 # in your locale, it will replace the abbr title properly. But if you don't want to use
265 # abbr tag, you can simply give a string as below
ee26f189 » sprsquish
2009-02-16 Remove JustinFrench namespace and add deprecation message for anyone …
266 Formtastic::SemanticFormBuilder.required_string = "(required)"
2d4a72b4 »
2009-02-16 big update to the README
267
268 # Set the string that will be appended to the labels/fieldsets which are optional
6a74bc7b » josevalim
2009-03-04 Updated README with inline_order customization.
269 # Defaults to an empty string ("") and also accepts procs (see required_string above)
ee26f189 » sprsquish
2009-02-16 Remove JustinFrench namespace and add deprecation message for anyone …
270 Formtastic::SemanticFormBuilder.optional_string = "(optional)"
5d072fa7 » andypearson
2009-01-24 Updating README to include a note about configuring inline errors
271
2d4a72b4 »
2009-02-16 big update to the README
272 # Set the way inline errors will be displayed.
d3d53d0a »
2009-02-17 typo fix in README
273 # Defaults to :sentence, valid options are :sentence, :list and :none
2d4a72b4 »
2009-02-16 big update to the README
274 Formtastic::SemanticFormBuilder.inline_errors = :list
282b28c2 » sprsquish
2009-02-16 Add I18n support
275
86e87da1 » josevalim
2009-03-24 Updated README with @@label_str_methods and new I18n.
276 # Set the method to call on label text to transform or format it for human-friendly
277 # reading when formtastic is user without object. Defaults to :humanize.
282b28c2 » sprsquish
2009-02-16 Add I18n support
278 Formtastic::SemanticFormBuilder.label_str_method = :titleize
30cfc862 » sprsquish
2009-02-16 Add Formtastic::SemanticFormBuilder.collection_label_methods to allow…
279
2d4a72b4 »
2009-02-16 big update to the README
280 # Set the array of methods to try calling on parent objects in :select and :radio inputs
281 # for the text inside each @<option>@ tag or alongside each radio @<input>@. The first method
282 # that is found on the object will be used.
283 # Defaults to ["to_label", "display_name", "full_name", "name", "title", "username", "login", "value", "to_s"]
284 Formtastic::SemanticFormBuilder.collection_label_methods = ["title_and_author", "display_name", "login", "to_s"]
6a74bc7b » josevalim
2009-03-04 Updated README with inline_order customization.
285
286 # Formtastic by default renders inside li tags the input, hints and then
287 # errors messages. Sometimes you want the hints to be rendered first than
288 # the input, in the following order: hints, input and errors. You can
289 # customize it doing just as below:
290 Formtastic::SemanticFormBuilder.inline_order = [:hints, :input, :errors]
82394788 »
2009-05-12 Added :as => :country as a new input option (default for :string colu…
291
292 # Set the default "priority countries" to suit your user base when using :as => :country
293 Formtastic::SemanticFormBuilder.priority_countries = ["Australia", "New Zealand"]
5a394436 »
2008-06-28 bulking up the documentation and readme with the different inputs ava…
294 </pre>
295
296
9af5cc8c »
2009-02-28 Big update and re-organization of the README:
297 h2. Internationalization (I18n)
298
59365cf2 »
2009-04-03 no point duplicating the i18n strings in the README
299 Supports I18n! 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.
9af5cc8c »
2009-02-28 Big update and re-organization of the README:
300
301
2d4a72b4 »
2009-02-16 big update to the README
302 h2. ValidationReflection plugin
303
304 If you have the "ValidationReflection":http://github.com/redinger/validation_reflection plugin installed, you won't have to specify the :required option (it checks the validations on the model instead).
305
5a394436 »
2008-06-28 bulking up the documentation and readme with the different inputs ava…
306
09d957d0 » Justin French
2008-04-29 textilized the README so that it looks pretty pretty on GitHub
307 h2. Status
dcf8bebb » Justin French
2008-04-07 Initial Commit
308
9af5cc8c »
2009-02-28 Big update and re-organization of the README:
309 *THINGS ARE GOING TO CHANGE A BIT BEFORE WE HIT 1.0.*
dcf8bebb » Justin French
2008-04-07 Initial Commit
310
9af5cc8c »
2009-02-28 Big update and re-organization of the README:
311 It's a work in progress and a bit rough around the edges still, but I hope you try it and offer some suggestions and improvements anyway.
2d4a72b4 »
2009-02-16 big update to the README
312
313 On the plus side, it has a comprehensive spec suite and contributions from at least ten independent developers.
dcf8bebb » Justin French
2008-04-07 Initial Commit
314
2d4a72b4 »
2009-02-16 big update to the README
315 "Wishlist":http://wiki.github.com/justinfrench/formtastic/wishlist on the wiki is serving as pretty good documentation for the roadmap to 1.0 and beyond right now, but I'll work on getting a real tracking system or something happening soon.
c5d02e69 »
2009-02-16 link to the wiki for the roadmap to 1.0 in README
316
dcf8bebb » Justin French
2008-04-07 Initial Commit
317
9af5cc8c »
2009-02-28 Big update and re-organization of the README:
318 h2. Dependencies
dcf8bebb » Justin French
2008-04-07 Initial Commit
319
9af5cc8c »
2009-02-28 Big update and re-organization of the README:
320 There are none, but...
dcf8bebb » Justin French
2008-04-07 Initial Commit
321
9af5cc8c »
2009-02-28 Big update and re-organization of the README:
322 * if you have the "ValidationReflection":http://github.com/redinger/validation_reflection plugin is installed, you won't have to specify the :required option (it checks the validations on the model instead)
82394788 »
2009-05-12 Added :as => :country as a new input option (default for :string colu…
323 * if you want to use the :country input, you'll need to install the "iso-3166-country-select plugin":http://github.com/rails/iso-3166-country-select (or any other country_select plugin with the same API)
9af5cc8c »
2009-02-28 Big update and re-organization of the README:
324 * rspec, rspec_hpricot_matchers and rcov gems (plus any of their own dependencies) are required for the test suite
dcf8bebb » Justin French
2008-04-07 Initial Commit
325
0b370bae »
2009-01-06 Renamed input_field_set() to just inputs() and added a shorthand vers…
326
9af5cc8c »
2009-02-28 Big update and re-organization of the README:
327 h2. Compatibility
0b370bae »
2009-01-06 Renamed input_field_set() to just inputs() and added a shorthand vers…
328
9af5cc8c »
2009-02-28 Big update and re-organization of the README:
329 I'm only testing Formtastic with the latest Rails 2.2.x stable release, and it should be fine under Rails 2.3 as well (including nested forms). Patches are welcome to allow backwards compatibility, but I don't have the energy!
0b370bae »
2009-01-06 Renamed input_field_set() to just inputs() and added a shorthand vers…
330
331
92e5fc3d »
2009-01-09 Updates to the README with better examples and output samples.
332
9af5cc8c »
2009-02-28 Big update and re-organization of the README:
333 h2. What about Stylesheets?
2d4a72b4 »
2009-02-16 big update to the README
334
fcf66e43 »
2009-02-28 burned the 'extending Formtastic' from README... will write a simpler…
335 A proof-of-concept (very much a work-in-progress) stylesheet is provided which you can include in your layout. Customization is best achieved by overriding these styles in an additional stylesheet so that the Formtastic styles can be updated without clobbering your changes.
085e22f7 » sprsquish
2009-02-16 Add support for nested forms (http://ryandaigle.com/articles/2009/2/1…
336
9af5cc8c »
2009-02-28 Big update and re-organization of the README:
337 1. Use the generator to copy the formtastic.css and formtastic_changes.css into your public directory
085e22f7 » sprsquish
2009-02-16 Add support for nested forms (http://ryandaigle.com/articles/2009/2/1…
338
339 <pre>
9af5cc8c »
2009-02-28 Big update and re-organization of the README:
340 ./script/generate formtastic_stylesheets
085e22f7 » sprsquish
2009-02-16 Add support for nested forms (http://ryandaigle.com/articles/2009/2/1…
341 </pre>
282b28c2 » sprsquish
2009-02-16 Add I18n support
342
9af5cc8c »
2009-02-28 Big update and re-organization of the README:
343 2. Add both formtastic.css and formtastic_changes.css to your layout:
282b28c2 » sprsquish
2009-02-16 Add I18n support
344
345 <pre>
9af5cc8c »
2009-02-28 Big update and re-organization of the README:
346 <%= stylesheet_link_tag "formtastic" %>
347 <%= stylesheet_link_tag "formtastic_changes" %>
282b28c2 » sprsquish
2009-02-16 Add I18n support
348 </pre>
085e22f7 » sprsquish
2009-02-16 Add support for nested forms (http://ryandaigle.com/articles/2009/2/1…
349
2d4a72b4 »
2009-02-16 big update to the README
350
83b9eb17 »
2009-04-02 updated the contributors list
351 h2. Contributors
352
2ddd0bb9 »
2009-04-28 Welcome Jose as a core maintainer :)
353 Formtastic is maintained by "Justin French":http://justinfrench.com and "José Valim":http://github.com/josevalim, but it wouldn't be as awesome as it is today if it weren't for the wonderful contributions of these fine, fine coders.
ba3ce055 »
2008-06-27 updated the README a little with contributors and some other busy work
354
66c49e61 »
2009-04-18 updated contributors list in README
355 * "Jeff Smick":http://github.com/sprsquish
356 * "Tien Dung":http://github.com/tiendung
357 * "Mark Mansour":http://stateofflux.com
358 * "Andy Pearson":http://github.com/andypearson
359 * "negonicrac":http://github.com/negonicrac
5a394436 »
2008-06-28 bulking up the documentation and readme with the different inputs ava…
360 * "Xavier Shay":http://rhnh.net
15ff964a »
2009-01-06 Added Pat and negonicrac to contributors.
361 * "Pat Allan":http://github.com/freelancing-god
83b9eb17 »
2009-04-02 updated the contributors list
362 * "Gareth Townsend":http://github.com/quamen
66c49e61 »
2009-04-18 updated contributors list in README
363 * "Sascha Hoellger":http://github.com/mitnal
364 * "Andrew Carpenter":http://github.com/andrewcarpenter
83b9eb17 »
2009-04-02 updated the contributors list
365 * "Jack Dempsey":http://github.com/jackdempsey/
66c49e61 »
2009-04-18 updated contributors list in README
366 * "Greg Fitzgerald":http://github.com/gregf/
367 * "Hector E. Gomez Morales":http://github.com/hectoregm
368 * "Ben Hamill":http://blog.benhamill.com/
83b9eb17 »
2009-04-02 updated the contributors list
369 * "Simon Chiu":http://github.com/tolatomeow
66c49e61 »
2009-04-18 updated contributors list in README
370 * "Bin Dong":http://github.com/dongbin
2d4a72b4 »
2009-02-16 big update to the README
371
5af03110 »
2009-04-02 updated the README to pimp the google group more
372
373 h2. Hey, join the Google group!
374
375 Please join the "Formtastic Google Group":http://groups.google.com.au/group/formtastic, especially if you'd like to talk about a new feature, or report a bug.
376
377
ba3ce055 »
2008-06-27 updated the README a little with contributors and some other busy work
378 h2. Project Info
379
dc3ace93 »
2008-12-08 more on the README
380 Formtastic is hosted on Github: http://github.com/justinfrench/formtastic/, where your contributions, forkings, comments and feedback are greatly welcomed.
ba3ce055 »
2008-06-27 updated the README a little with contributors and some other busy work
381
382
25d0c7aa »
2008-12-08 fleshed out a 'roadmap to 1.0' in the README
383 Copyright (c) 2007-2008 Justin French, released under the MIT license.
Something went wrong with that request. Please try again.