Je voudrais plus savoir quelle approche est optimale. J'aimerais avoir un formulaire de recherche avec une saisie semi-automatique qui fonctionne bien.
Réponses:
2 pour la réponse № 1Votre action d'auto-complétion du contrôleur ressemblerait à ceci:
def autocomplete
@products = Product.order(:name).where("name LIKE ?", ""%#{params[:search][:term]}%"")
respond_to do |format|
format.html
format.json {
render json: @products.map(&:name)
}
end
end
Vous devrez ajouter jquery ui auto complete à votre application.js
//= require jquery-ui/autocomplete
Et l'appel de fonction jquery ui ressemblerait un peu à ceci:
$( "#search" ).autocomplete({
source: function( request, response ) {
$.ajax({
url: "search/auto_complete",
dataType: "json",
delay: 2000,
data: {
search: request
},
success: function( data ) {
response( data );
}
});
}
});