justinfrench-formtastic 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
data/README.textile CHANGED
@@ -1,4 +1,4 @@
1
- h1. Formtastic 0.1.1
1
+ h1. Formtastic 0.1.3
2
2
 
3
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
4
 
@@ -25,9 +25,9 @@ One day, I finally had enough, so I opened up my text editor, and wrote a DSL fo
25
25
  <%= form.input :url_title, :required => false %>
26
26
  <% end %>
27
27
 
28
- <% form.inputs :for => :author do |author_form| %>
29
- <%= form.input :first_name %>
30
- <%= form.input :last_name %>
28
+ <% form.inputs :name => "Author", :for => :author do |author_form| %>
29
+ <%= author_form.input :first_name %>
30
+ <%= author_form.input :last_name %>
31
31
  <% end %>
32
32
 
33
33
  <% form.buttons do %>
@@ -86,13 +86,13 @@ And then add it as a dependency in your environment.rb file:
86
86
  config.gem "justinfrench-formtastic",
87
87
  :lib => 'formtastic',
88
88
  :source => 'http://gems.github.com',
89
- :version => '0.1.1'
89
+ :version => '0.1.3'
90
90
  </pre>
91
91
 
92
92
  If you're a little more old school, install it as a plugin:
93
93
 
94
94
  <pre>
95
- ./script/install plugin git://github.com/justinfrench/formtastic.git
95
+ ./script/plugin install git://github.com/justinfrench/formtastic.git
96
96
  </pre>
97
97
 
98
98
 
@@ -156,30 +156,57 @@ If you want to customize the label text, or render some hint text below the fiel
156
156
  <% end %>
157
157
  </pre>
158
158
 
159
+ If you want to customize html elements for any non button inputs you just need
160
+ to specify the :input_html options hash.
161
+
162
+ <pre>
163
+ <% semantic_form_for @post do |form| %>
164
+ <%= form.input :title, :input_html => {:size => 60} %>
165
+ <%= form.input :body %>
166
+ <%= form.input :created_at, :input_html => {:disabled => true} %>
167
+ <%= form.buttons %>
168
+ <% end %>
169
+ </pre>
170
+
159
171
  Nested forms (Rails 2.3) are also supported. You can do it in the Rails way:
160
172
 
161
173
  <pre>
162
- <% semantic_form_for @post do |post| %>
163
- <%= post.inputs %>
174
+ <% semantic_form_for @post do |form| %>
175
+ <%= form.inputs :title, :body, :created_at %>
164
176
 
165
- <%= post.semantic_fields_for :author do |author| %>
166
- <%= author.inputs :first_name, :last_name %>
167
- <%= end %>
177
+ <% form.semantic_fields_for :author do |author| %>
178
+ <%= author.inputs :first_name, :last_name, :name => 'Author' %>
179
+ <% end %>
168
180
 
169
- <%= post.buttons %>
181
+ <%= form.buttons %>
170
182
  <% end %>
171
183
  </pre>
172
184
 
173
185
  Or in the formtastic way:
174
186
 
175
187
  <pre>
176
- <% semantic_form_for @post do |post| %>
177
- <%= post.inputs %>
178
- <%= post.inputs :first_name, :last_name, :for => :author %>
179
- <%= post.buttons %>
188
+ <% semantic_form_for @post do |form| %>
189
+ <%= form.inputs :title, :body, :created_at %>
190
+
191
+ <%= form.inputs :first_name, :last_name, :for => :author, :name => "Author" %>
192
+
193
+ <%= form.buttons %>
194
+ <% end %>
195
+ </pre>
196
+
197
+ When working in has many association, you can even supply "%i" in your fieldset
198
+ name that it will be properly interpolated with the child index. For example:
199
+
200
+ <pre>
201
+ <% semantic_form_for @post do |form| %>
202
+ <%= form.inputs %>
203
+ <%= form.inputs :name => 'Category #%i', :for => :categories %>
204
+ <%= form.buttons %>
180
205
  <% end %>
181
206
  </pre>
182
207
 
208
+ Each category will be wrapped in a fieldset with legend "Category #1",
209
+ "Category #2" and so on. But please notice that this works only with Rails 2.3.
183
210
 
184
211
  h2. The Available Inputs
185
212
 
@@ -226,9 +253,8 @@ If you wish, put something like this in config/initializers/formtastic_config.rb
226
253
  # Defaults to :sentence, valid options are :sentence, :list and :none
227
254
  Formtastic::SemanticFormBuilder.inline_errors = :list
228
255
 
229
- # Set the method to call on label text to transform or format it for human-friendly reading
230
- # Defaults to :to_s, because we are already using human_attribute_name when creating labels,
231
- # but you might want to change for :titleize or another string method
256
+ # Set the method to call on label text to transform or format it for human-friendly
257
+ # reading when formtastic is user without object. Defaults to :humanize.
232
258
  Formtastic::SemanticFormBuilder.label_str_method = :titleize
233
259
 
234
260
  # Set the array of methods to try calling on parent objects in :select and :radio inputs
@@ -247,25 +273,7 @@ If you wish, put something like this in config/initializers/formtastic_config.rb
247
273
 
248
274
  h2. Internationalization (I18n)
249
275
 
250
- 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.
251
-
252
- Here is an example locale file:
253
-
254
- <pre>
255
- en:
256
- formtastic:
257
- yes: 'Yes'
258
- no: 'No'
259
- create: 'Create'
260
- save: 'Save'
261
- year: 'Year'
262
- month: 'Month'
263
- day: 'Day'
264
- hour: 'Hour'
265
- minute: 'Minute'
266
- second: 'Second'
267
- required: 'required'
268
- </pre>
276
+ 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.
269
277
 
270
278
 
271
279
  h2. ValidationReflection plugin
@@ -316,7 +324,9 @@ A proof-of-concept (very much a work-in-progress) stylesheet is provided which y
316
324
  </pre>
317
325
 
318
326
 
319
- h2. Many thanks to Formtastic's contributors
327
+ h2. Contributors
328
+
329
+ Formtastic wouldn't be as awesome as it is today if it weren't for the wonderful contributions of these fine, fine coders. An extra huge thanks goes out to "José Valim":http://github.com/josevalim for nearly 50 patches.
320
330
 
321
331
  * "Justin French":http://justinfrench.com
322
332
  * "Xavier Shay":http://rhnh.net
@@ -330,13 +340,20 @@ h2. Many thanks to Formtastic's contributors
330
340
  * "Sascha Hoellger":http://github.com/mitnal
331
341
  * "Jeff Smick":http://github.com/sprsquish
332
342
  * "José Valim":http://github.com/josevalim
343
+ * "Greg Fitzgerald":http://github.com/gregf/
344
+ * "Gareth Townsend":http://github.com/quamen
345
+ * "Jack Dempsey":http://github.com/jackdempsey/
346
+ * "Simon Chiu":http://github.com/tolatomeow
347
+
348
+
349
+ h2. Hey, join the Google group!
350
+
351
+ 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.
333
352
 
334
353
 
335
354
  h2. Project Info
336
355
 
337
356
  Formtastic is hosted on Github: http://github.com/justinfrench/formtastic/, where your contributions, forkings, comments and feedback are greatly welcomed.
338
357
 
339
- There's also a newly created "Formtastic Google Group":http://groups.google.com.au/group/formtastic.
340
-
341
358
 
342
359
  Copyright (c) 2007-2008 Justin French, released under the MIT license.