Boutons Radio sur les Rails
Similaire à cette question: Des cases à cocher sur les Rails
Quelle est la bonne façon de faire de la radio boutons qui sont liés à une certaine question dans Ruby on Rails? Pour le moment j'ai:
<div class="form_row">
<label for="theme">Theme:</label>
<br><%= radio_button_tag 'theme', 'plain', true %> Plain
<br><%= radio_button_tag 'theme', 'desert' %> Desert
<br><%= radio_button_tag 'theme', 'green' %> Green
<br><%= radio_button_tag 'theme', 'corporate' %> Corporate
<br><%= radio_button_tag 'theme', 'funky' %> Funky
</div>
Je veux aussi être capable de vérifier automatiquement les éléments précédemment sélectionnés (si cette forme a été re-loaded). Comment puis-je charger les paramètres dans la valeur par défaut de ces?
Vous devez vous connecter pour publier un commentaire.
Comme dans ce post précédent, avec une légère torsion:
Où
[ 'plain', 'desert', 'green', 'corporate', 'funky' ]
à%w(plain desert green corporate funky)
Même que V, mais a les étiquettes associées à chaque bouton radio. En cliquant sur le label vérifie le bouton radio.
label_tag
contribue à améliorer l'UX 🙂À l'aide de Haml, se débarrasser de l'inutile br balises, et de l'imbrication des entrées à l'intérieur de l'étiquette de sorte qu'ils peuvent être sélectionnés sans les étiquettes de l'ids. Aussi à l'aide de form_for. Je ne considère pas cela pour être en suivant les meilleures pratiques.
Je vous suggérerais d'avoir un coup d'oeil à formtastic
Il fait de la radio bouton, case à cocher et de collections infiniment plus facile et plus concis. Votre code ressemble à:
Formtastic est en grande partie discrète et peuvent être mélangés et combinés avec le "classique" constructeurs de forme. Vous pouvez également remplacer la formtastic classe css pour la forme comme je l'ai fait ci-dessus avec
:html => {:class => 'my_style'}
Avoir un regard sur les Railscasts.
Mise à jour: j'ai récemment déménagé à Simple Formulaire qui a la même syntaxe que formtastic mais est plus léger et surtout laisse le style de votre propre feuille de style css.
Hmm, à partir de la doc je ne vois pas comment vous pouvez définir l'ID sur les boutons de la radio... sur l'étiquette pour l'attribut essaie de lier à l'ID de la radio.
rails de docs pour radio_button_tag
Qu'il dit, de la doc, que le premier paramètre est le "nom"... qui, si c'est ce que c'est de la création, devrait les regrouper ensemble. Si pas, c'est peut être un bug?
Hmm, me demande si ils ont été résolus:
http://dev.rubyonrails.org/ticket/2879
http://dev.rubyonrails.org/ticket/3353