Skip to content
Browse files

Add simple_form

  • Loading branch information...
1 parent 67a48a8 commit bdf404b75d689d6f8c4eeb94b9fd5a05c404866a @rafaelfranca committed
Showing with 127 additions and 0 deletions.
  1. +2 −0 Gemfile
  2. +9 −0 Gemfile.lock
  3. +79 −0 config/initializers/simple_form.rb
  4. +24 −0 config/locales/simple_form.en.yml
  5. +13 −0 lib/templates/erb/scaffold/_form.html.erb
View
2 Gemfile
@@ -19,6 +19,8 @@ end
gem 'jquery-rails'
+gem 'simple_form', :git => 'git://github.com/plataformatec/simple_form.git'
+
# Use unicorn as the web server
# gem 'unicorn'
View
9 Gemfile.lock
@@ -1,3 +1,11 @@
+GIT
+ remote: git://github.com/plataformatec/simple_form.git
+ revision: c2249590afe1e6b43ddb31baef47d9862ec8e34b
+ specs:
+ simple_form (2.0.0.dev)
+ actionpack (~> 3.0)
+ activemodel (~> 3.0)
+
GEM
remote: http://rubygems.org/
specs:
@@ -111,5 +119,6 @@ DEPENDENCIES
json
rails (= 3.1.0)
sass-rails (~> 3.1.0)
+ simple_form!
sqlite3
uglifier
View
79 config/initializers/simple_form.rb
@@ -0,0 +1,79 @@
+# Use this setup block to configure all options available in SimpleForm.
+SimpleForm.setup do |config|
+ # Wrappers are used by the form builder to generate a complete input.
+ # You can remove any component from the wrapper, change the order or even
+ # add your own to the stack. The options given to the wrappers method
+ # are used to wrap the whole input (if any exists).
+ config.wrappers :class => :input, :error_class => :field_with_errors do |b|
+ b.use :placeholder
+ b.use :label_input
+ b.use :hint, :tag => :span, :class => :hint
+ b.use :error, :tag => :span, :class => :error
+ end
+
+ # Method used to tidy up errors.
+ # config.error_method = :first
+
+ # Default tag used for error notification helper.
+ # config.error_notification_tag = :p
+
+ # CSS class to add for error notification helper.
+ # config.error_notification_class = :error_notification
+
+ # ID to add for error notification helper.
+ # config.error_notification_id = nil
+
+ # You can wrap a collection of radio/check boxes in a pre-defined tag, defaulting to none.
+ # config.collection_wrapper_tag = nil
+
+ # You can wrap each item in a collection of radio/check boxes with a tag, defaulting to span.
+ # config.item_wrapper_tag = :span
+
+ # Series of attempts to detect a default label method for collection.
+ # config.collection_label_methods = [ :to_label, :name, :title, :to_s ]
+
+ # Series of attempts to detect a default value method for collection.
+ # config.collection_value_methods = [ :id, :to_s ]
+
+ # How the label text should be generated altogether with the required text.
+ # config.label_text = lambda { |label, required| "#{required} #{label}" }
+
+ # You can define the class to use on all labels. Default is nil.
+ # config.label_class = nil
+
+ # You can define the class to use on all forms. Default is simple_form.
+ # config.form_class = :simple_form
+
+ # Whether attributes are required by default (or not). Default is true.
+ # config.required_by_default = true
+
+ # Tell browsers whether to use default HTML5 validations (novalidate option).
+ # Default is enabled.
+ # config.browser_validations = true
+
+ # Determines whether HTML5 types (:email, :url, :search, :tel) and attributes
+ # (e.g. required) are used or not. True by default.
+ # Having this on in non-HTML5 compliant sites can cause odd behavior in
+ # HTML5-aware browsers such as Chrome.
+ # config.html5 = true
+
+ # Custom mappings for input types. This should be a hash containing a regexp
+ # to match as key, and the input type that will be used when the field name
+ # matches the regexp as value.
+ # config.input_mappings = { /count/ => :integer }
+
+ # Collection of methods to detect if a file type was given.
+ # config.file_methods = [ :mounted_as, :file?, :public_filename ]
+
+ # Default priority for time_zone inputs.
+ # config.time_zone_priority = nil
+
+ # Default priority for country inputs.
+ # config.country_priority = nil
+
+ # Default size for text inputs.
+ # config.default_input_size = 50
+
+ # When false, do not use translations for labels, hints or placeholders.
+ # config.translate = true
+end
View
24 config/locales/simple_form.en.yml
@@ -0,0 +1,24 @@
+en:
+ simple_form:
+ "yes": 'Yes'
+ "no": 'No'
+ required:
+ text: 'required'
+ mark: '*'
+ # You can uncomment the line below if you need to overwrite the whole required html.
+ # When using html, text and mark won't be used.
+ # html: '<abbr title="required">*</abbr>'
+ error_notification:
+ default_message: "Some errors were found, please take a look:"
+ # Labels and hints examples
+ # labels:
+ # password: 'Password'
+ # user:
+ # new:
+ # email: 'E-mail para efetuar o sign in.'
+ # edit:
+ # email: 'E-mail.'
+ # hints:
+ # username: 'User name to sign in.'
+ # password: 'No special characters, please.'
+
View
13 lib/templates/erb/scaffold/_form.html.erb
@@ -0,0 +1,13 @@
+<%%= simple_form_for(@<%= singular_table_name %>) do |f| %>
+ <%%= f.error_notification %>
+
+ <div class="inputs">
+ <%- attributes.each do |attribute| -%>
+ <%%= f.<%= attribute.reference? ? :association : :input %> :<%= attribute.name %> %>
+ <%- end -%>
+ </div>
+
+ <div class="actions">
+ <%%= f.button :submit %>
+ </div>
+<%% end %>

0 comments on commit bdf404b

Please sign in to comment.
Something went wrong with that request. Please try again.