Avec la méthode de cet article, la seule action que vous pouvez réaliser est l'initialisation (réinitialisation) du formulaire. Comment le rendre complètement clair (vide) est présenté dans cet article.
Notes créées avec le formulaire de recherche avancée dans [Rails] ransack
Lors de la mise en œuvre d'un formulaire de recherche qui vous permet d'ajouter diverses conditions de recherche, je me suis demandé s'il existait un moyen de réinitialiser les conditions de recherche en un seul clic.
En conséquence, j'ai pu l'implémenter par la méthode suivante, je vais donc le résumer.
Pour donner un bref aperçu ** 1. Définissez une méthode pour générer une balise de bouton de réinitialisation dans la méthode d'assistance ** ** 2. Appelez-le en vue ** ** 3. Écrivez un processus pour désactiver la case à cocher avec js ** J'ai l'impression de l'envoyer avec trois
N'importe quel fichier fera l'affaire, mais cette fois, nous le définirons dans helpers / application.rb
.
helpers/application.rb
module ApplicationHelper
def reset_tag(value = "Reset form", options = {})
options = options.stringify_keys
tag :input, { type: "reset", value: value }.update(options)
end
end
ruby:search.html.haml
%div
= reset_tag 'clair', id: 'js_clear_btn'
%div
= f.submit 'Terminé'
À l'origine, Rails n'a pas reset_tag
, mais comme il a été défini par une méthode d'assistance, il peut être appelé de cette manière.
Ajustez avec CSS et ressemblez à ceci ↓
Dans mon cas, je n'ai pas pu effacer (décocher) la case à cocher avec le bouton de réinitialisation, alors j'ai écrit JavaScript là-bas.
Le code dépend fortement de l'environnement, je vais donc l'omettre.
Comme ça, j'ai pu créer un bouton qui initialise tous les text_field, number_field, select et checkbox!
Utilisez le bouton pour initialiser le formulaire dans Rails