JeuWeb - Crée ton jeu par navigateur
simple_form - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : simple_form (/showthread.php?tid=5629)



simple_form - Viciousity - 08-08-2011

Bonsoir à tous,

Je viens ici vous présenter une gem qui vaut le détour pour tout projet sous Rails (2->3.1).

"simple_form" de son nom est une gem qui permet de gérer super facilement vos formulaires.
Elle est configurable a souhait grâce à un petit fichier de configuration qui vous permettra de choisir les classes attribuées aux divers éléments.

Je pense qu'un exemple est le plus simple :

%h1 Formulaire d'inscription.
= simple_form_for @player do |f|
= f.input :email
= f.input :alias
= f.input :password
Donne :

<form accept-charset="UTF-8" action="/public/players" class="simple_form player" data-validate="true" id="new_player" method="post" novalidate="novalidate">
<div class="input string email required">
<label class="email required" for="player_email">Email</label>
<input class="string email required" data-validate="true" id="player_email" maxlength="255" name="player[email]" size="50" type="email" />
</div>
<div class="input string required">
<label class="string required" for="player_alias">Alias</label>
<input class="string required" data-validate="true" id="player_alias" maxlength="255" name="player[alias]" size="50" type="text" />
</div>
<div class="input string password required">
<label class="password required" for="player_password">Password</label>
<input class="string password required" data-validate="true" id="player_password" name="player[password]" size="50" type="password" />
</div>
<input class="button" name="commit" type="submit" value="Créer mon compte." />
</form>

Bref un gain de temps considérable.
Pour plus d'info : https://github.com/plataformatec/simple_form

Simple comme rails Smile


RE: simple_form - Akira777 - 09-08-2011

Bien sympa, je ne connaissais pas ! Je prend Big Grin


RE: simple_form - Sephi-Chan - 09-08-2011

Effectivement, c'est assez énorme.

Je l'avais testé à une époque et j'avais adoré. C'est surtout l'intégration de l'internationalisation et des hints qui déchire.

Les formulaires reste très simple :


# Ça marche avec un objet User…
= simple_form_for user do |f|
= f.input :name
= f.input :email
= f.input :password
= f.input :password_confirmation

= f.button Confusedubmit

# Mais aussi avec un formulaire plus "manuel"…
= simple_form_for Confusedession, url: sign_in_path do |f|
= f.input :email
= f.input :password
= f.input :remember_me, :as => :boolean

= f.button Confusedubmit


Tout se passe dans le fichier de traductions :


fr:
simple_form:
yes: Oui
no: Non

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>'

labels:
user:
name: Nom
email: E-mail
password: Mot de passe
password_confirmation: Confirmation du mot de passe

session:
email: E-mail
password: Mot de passe
remember_me: Se souvenir de moi

hints:
user:
name: Le nom que vos adversaires verront.
email: Nous ne le communiqueront à personne.


helpers:
submit:
user:
create: Je m'inscris !

session:
submit: Je me connecte !

Donc c'est vraiment top ! Je l'intègre à Conquest on Rails ! Smile


RE: simple_form - Viciousity - 09-08-2011

J'ai pas parlé de l'I18n mais cest clairement ce qui lui donne l'avantage comparé a formtastic ;P
Gerer les submit et meme les placeholder si tu utilises :
Placeholders.model.champ

C'es vraiment un must et je parle pas de mon adoration pour le nom des champs qui permet un css soit en Global ou en profondeur Smile