Réaliser un filtrage sur les données d'une "classe"


#1

Bonjour,

J’essaye actuellement de faire une page de filtrage pour un site.

Le site gère des livres. J’aimerais pouvoir afficher la liste complète
des livres, mais que dynamiquement, Ã mesure que l’on tape du texte dans
un champ prévu à cet effet au dessus de la liste, la liste se
raccourcisse pour ne laisser apparaitre que les titres de livres
contenant la chaine qui est tapée dans le champs texte.

J’ai essayé 6 plugins différent sans jamais arriver à quoi que ce soit
de fonctionnel…

J’aimerais un peut d’aide pour réaliser cette page.

Merci d’avance

Domas


#2

Tony C. wrote:

C’est assez simple. Il te suffit de placer un observer_field sur ton
formulaire de recherche :

Pas besoin de plugin pour faire ceci.

Intéressant. J’utilise le plugin auto_complete. Que’est-ce que l’un
permet de faire et pas l’autre?


#3

C’est assez simple. Il te suffit de placer un observer_field sur ton
formulaire de recherche :

<%= observe_field ‘search’, :frequency => 2,
:before => “Element.show(‘spinner’)”,
:success => “Element.hide(‘spinner’)”,
:url => {:action => ‘ton_action’},
:with => ‘search’ %>

Ton action mets a jour un partiel avec les résultats.

Vue :

<%= render :partial => "list" %>

Controleur :

render :partial => “list”, :layout => false

Pas besoin de plugin pour faire ceci.


#4

Intéressant. J’utilise le plugin auto_complete. Que’est-ce que l’un
permet de faire et pas l’autre?

L’auto_complete ne fais pas du tout la même chose. Il s’agit de te faire
des propositions de mots trouvés dans la base en fonction de ce que tu
commence à taper. Ici, il s’agit de mettre à jour la liste en fonction
de ce qui est tapé.

Quelle action? Il faut ajouter une méthode dans le controlleur de la
page de recherche? Qu’est-ce qu’elle doit faire cette action?

Il te faut une méthode qui va simplement refaire la requête et qui mette
à jour le partiel contenant les résultats.
(un partiel n’est rien d’autre qu’une partie de page, ici, le tableau
des résultats).
Tu mets à jour ce tableau en l’encadrant dans un div :

<%= render :partial => "list" %>

Qui est mis à jour par ton observe_field (ce qui m’amène au petit oubli
plus haut) :

<%= observe_field ‘search’, :frequency => 2,
:update => ‘results’,
:before => “Element.show(‘spinner’)”,
:success => “Element.hide(‘spinner’)”,
:url => {:action => ‘ton_action’},
:with => ‘search’ %>

Ainsi, toutes les 2 secondes, ta recherche est envoyée au controleur et
la liste mise à jour en fonction du résultat


#5

Hello

Merci beaucoup pour ton aide.

Cependant je débute en ror et je comprends pas tout ce que je dois
adapter et ce que je dois laisser tel quel dans le code que tu m’a
donné.

Ton action mets a jour un partiel avec les résultats.

Quelle action? Il faut ajouter une méthode dans le controlleur de la
page de recherche? Qu’est-ce qu’elle doit faire cette action?

render :partial => “list”, :layout => false

C’est quoi un partiel? c’est un div?

Merci beaucoup pour ton aide et ton temps

Domas


#6

Dominique Massia a écrit :

Hello

Excuse moi mais je suis un super débutant en ROR… de plus le web c’est
pas mon domaine de prédilection… Qu’est-ce qu’il faut faire
concrètement dans le modèle dans la vue et dans le contrôleur pour que
cette fonctionnalité soit implémentée??? J ai vraiment besoin d’aide
parce que je sais absolument pas comment partir. J’ai essayer de
copier/coller ton code mais ça me sort des erreur.

Faire du code. Ou alors employer quelqu’un pour faire ce code.


Cyril M.
http://blog.shingara.fr


#7

Dominique Massia a écrit :
Excuse moi mais je suis un super débutant en ROR…

Une seule solution : un bon livre, 2 bonnes semaines a fond dessus.
Tu n’iras pas loin si tu ne commence pas par le début


#8

Hello

Excuse moi mais je suis un super débutant en ROR… de plus le web c’est
pas mon domaine de prédilection… Qu’est-ce qu’il faut faire
concrètement dans le modèle dans la vue et dans le contrôleur pour que
cette fonctionnalité soit implémentée??? J ai vraiment besoin d’aide
parce que je sais absolument pas comment partir. J’ai essayer de
copier/coller ton code mais ça me sort des erreur.

Merci d’avance

Domas


#9

Le 24 mai 09 à 17:59, Dominique Massia a écrit :

Merci d’avance

Domas

Visiblement, tu devrais commencer par le début, par exemple le modèle
MVC pour bien comprendre ce que tu vas faire, et pourquoi tu vas le
faire.

Ensuite, peut-être qu’un livre comme Ruby pour Rails histoire
d’apprendre à la fois le langage et le framework.

Et pour terminer, Rails en lui-même


Frédéric de Villamil
“What’s mine is mine. What’s yours is still unsetteled” – Go player
proverb
removed_email_address@domain.invalid tel: +33 (0)6 62 19 1337
http://t37.net Typo : http://typosphere.org


#10

Bonjour,

Je connais le MVC, je suis étudiant en informatique, j’ai relus mon
cours sur rails, je suis un peu plus au point la dessus.

Je dois faire un projet pour un cours, c’est pas pour de la production,
c’est un exercice.

Je vais essayer de me débrouiller pour la suite. Merci pour vos réponses

Salutations

Dominiques