SlideShare ist ein Scribd-Unternehmen logo
1 von 8
Formtastic is wonderful
Les formulaires comme vous ne les aviez jamais vus...
                  Thibaut ASSUS
Intro
• Fork it on http://github.com/justinfrench/
  formtastic
• Vous rêviez d’une façon centralisée de
  gérer vos types de données dans un
  formulaire ?
• Ça prend du temps de faire des
  formulaires...
Painful forms ?

• Vous vous souvenez de f.collection_select ?
• Vous vous souvenez du temps passé sur la
  génération de checkboxes pour tel ou tel
  has_many :through ? (tags pour des
  articles, rôles pour des utilisateurs par
  exemple)
Ici ça se résume à un
                 petit :
•   - semantic_form_for(@user, :html => {:method => :put}, :url => user_path) do |f|
      = f.input :date_of_birth, :label => 'Date of birth', :start_year => 1920
      = f.input :living_near, :label => 'Living near'
      = f.input :first_name, :label => 'First Name'
      = f.input :last_name, :label => 'Last Name'
      = f.input :nick_name, :label => 'Nick Name'
      = f.input :sex, :label => 'I am'
      = f.input :sexs, :label => 'I search for', :as => :check_boxes
      = f.commit_button 'Save'
I18ned & autovalidated
• Formtastic::SemanticFormBuilder.i18n_look
  ups_by_default = true
• Si vous installez le plugin
  ValidationReflection, l’option :required n’est
  plus nécessaire, et le plugin rajoute tout
  seul la petite *, et on peut hooker en js
  pour savoir si tel ou tel champ est
  obligatoire.
Communauté

• Ce projet initié le 7 avril 2008 est très
  attractif (1300 followers sur github)
• Il fait partie de la base app de thoughtbot
  (suspenders)
Custom

• Customizable,
•   class MyCustomBuilder < Formtastic::SemanticFormBuilder
      def slider_input(method, options)

        #todo
      end
    end
    Formtastic::SemanticFormHelper.builder = MyCustomBuilder
Conclusion

• => Ça roxe
• => C’est très actif
• => Je ne dévoile pas tout, découvrez par
  vous même

Weitere ähnliche Inhalte

Ähnlich wie Formtastic

Ankara partie 1 présentations
Ankara partie 1  présentationsAnkara partie 1  présentations
Ankara partie 1 présentations
Martine Dubreucq
 

Ähnlich wie Formtastic (8)

Optimiser son référencement WordPress - QueDuWeb 2016
Optimiser son référencement WordPress - QueDuWeb 2016Optimiser son référencement WordPress - QueDuWeb 2016
Optimiser son référencement WordPress - QueDuWeb 2016
 
Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024
 
PHP (Partie II) Par Mahdi Ben Alaya
PHP (Partie II) Par Mahdi Ben AlayaPHP (Partie II) Par Mahdi Ben Alaya
PHP (Partie II) Par Mahdi Ben Alaya
 
Ankara partie 1 présentations
Ankara partie 1  présentationsAnkara partie 1  présentations
Ankara partie 1 présentations
 
La puissance des pseudo-éléments
La puissance des pseudo-élémentsLa puissance des pseudo-éléments
La puissance des pseudo-éléments
 
Symfony2 - Un Framework PHP 5 Performant
Symfony2 - Un Framework PHP 5 PerformantSymfony2 - Un Framework PHP 5 Performant
Symfony2 - Un Framework PHP 5 Performant
 
Comment créer des hooks dans vos développements WordPress - WP Tech 2015
Comment créer des hooks dans vos développements WordPress - WP Tech 2015Comment créer des hooks dans vos développements WordPress - WP Tech 2015
Comment créer des hooks dans vos développements WordPress - WP Tech 2015
 
Javascript proprement
Javascript proprementJavascript proprement
Javascript proprement
 

Formtastic

  • 1. Formtastic is wonderful Les formulaires comme vous ne les aviez jamais vus... Thibaut ASSUS
  • 2. Intro • Fork it on http://github.com/justinfrench/ formtastic • Vous rêviez d’une façon centralisée de gérer vos types de données dans un formulaire ? • Ça prend du temps de faire des formulaires...
  • 3. Painful forms ? • Vous vous souvenez de f.collection_select ? • Vous vous souvenez du temps passé sur la génération de checkboxes pour tel ou tel has_many :through ? (tags pour des articles, rôles pour des utilisateurs par exemple)
  • 4. Ici ça se résume à un petit : • - semantic_form_for(@user, :html => {:method => :put}, :url => user_path) do |f| = f.input :date_of_birth, :label => 'Date of birth', :start_year => 1920 = f.input :living_near, :label => 'Living near' = f.input :first_name, :label => 'First Name' = f.input :last_name, :label => 'Last Name' = f.input :nick_name, :label => 'Nick Name' = f.input :sex, :label => 'I am' = f.input :sexs, :label => 'I search for', :as => :check_boxes = f.commit_button 'Save'
  • 5. I18ned & autovalidated • Formtastic::SemanticFormBuilder.i18n_look ups_by_default = true • Si vous installez le plugin ValidationReflection, l’option :required n’est plus nécessaire, et le plugin rajoute tout seul la petite *, et on peut hooker en js pour savoir si tel ou tel champ est obligatoire.
  • 6. Communauté • Ce projet initié le 7 avril 2008 est très attractif (1300 followers sur github) • Il fait partie de la base app de thoughtbot (suspenders)
  • 7. Custom • Customizable, • class MyCustomBuilder < Formtastic::SemanticFormBuilder def slider_input(method, options) #todo end end Formtastic::SemanticFormHelper.builder = MyCustomBuilder
  • 8. Conclusion • => Ça roxe • => C’est très actif • => Je ne dévoile pas tout, découvrez par vous même