Ich möchte einige Felder in einem Formular in Rails anzeigen oder ausblenden, abhängig vom Status eines ausgewählten Felds im Formular. Ich brauche (momentan) keine zweite Datenbanksuche nach den Feldern, also versuche ich, alles auf die Ansicht zu beschränken. Ich habe den Entwurf skizziert, aber ich habe einige Probleme mit den Implementierungsdetails.Wie kann ich bedingte AJAX-y Formularfelder in Rails anzeigen/verbergen?
Mein erster Gedanke war, observe_field
zu verwenden und Element.show usw. aufzurufen, aber dann müsste ich ein Javascript bedingte schreiben. Das wird wahrscheinlich funktionieren müssen, aber ich möchte es vermeiden, wenn ich kann.
Ein anderer Ansatz wäre, observe_field
zu verwenden, um eine RJS-Vorlage anzufordern, und replace_html
, um die Felder einzufügen. Nicht schlecht, aber da ich einen form_for
Block verwende, müsste ich entweder die Formularinstanz vollständig durch das RJS-Template übergeben, um es richtig zu machen.
Ich könnte auch den Datensatz bei jedem Durchlauf aktualisieren und das Formular unter den neuen Bedingungen anzeigen, aber das ist, was ich versuche zu vermeiden. Es wäre so viel einfacher, dies alles in der Ansicht zu tun. hier
Was bin ich? Was ist die gängige Praxis für bedingte Ein-/Ausblenden von Formularen in Rails?