Je souhaite afficher ou masquer quelques champs dans un formulaire dans Rails, en fonction de l'état d'un champ de sélection dans le formulaire. Je n'ai pas (actuellement) besoin d'une deuxième recherche de base de données pour les champs, donc j'essaye de garder tout cela confiné à la vue. J'ai esquissé les grandes lignes, mais j'ai des problèmes avec les détails d'implémentation.Comment puis-je faire AJAX-y afficher/masquer des champs conditionnels dans Rails?
Ma première pensée était d'utiliser observe_field
et d'appeler Element.show etc etc., mais ensuite je devrais écrire un Javascript conditionnel. Cela va probablement devoir marcher, mais je veux l'éviter si je le peux.
Une autre approche serait d'utiliser observe_field
pour demander un modèle RJS, et replace_html
pour insérer les champs. Pas mal, mais puisque j'utilise un bloc form_for
, je devrais soit passer l'instance du formulaire tout au long du modèle RJS pour le faire correctement.
Je pourrais aussi mettre à jour l'enregistrement à chaque passage, et afficher le formulaire dans les nouvelles conditions, mais c'est ce que j'essaie d'éviter. Ce serait tellement plus simple de faire tout cela dans la vue.
Qu'est-ce qui me manque ici? Quelle est la pratique acceptée pour les formes show/hide conditionnelles dans Rails?