Forum: Rails France Réaliser un filtrage sur les données d'une "classe"

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
B733017d23ecc26744965b829dba8675?d=identicon&s=25 Dominique Massia (domas)
on 2009-05-23 12:10
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
79b719d7f060027f31511f43f030e5c7?d=identicon&s=25 Tony Chauveau (kusanar)
on 2009-05-23 12:49
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 :

<div id="results">
<%= render :partial => "list" %>
</div>

Controleur :

render :partial => "list", :layout => false

Pas besoin de plugin pour faire ceci.
059ed46172a087063ce26250e44c8627?d=identicon&s=25 Fernando Perez (fernando)
on 2009-05-23 15:58
Tony Chauveau 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?
B733017d23ecc26744965b829dba8675?d=identicon&s=25 Dominique Massia (domas)
on 2009-05-23 17:39
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
79b719d7f060027f31511f43f030e5c7?d=identicon&s=25 Tony Chauveau (kusanar)
on 2009-05-23 17:59
> 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 :

<div id="results">
<%= render :partial => "list" %>
</div>

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
B733017d23ecc26744965b829dba8675?d=identicon&s=25 Dominique Massia (domas)
on 2009-05-24 17:59
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
2fd0206c71a1b22a9cc6293f38537461?d=identicon&s=25 Cyril Mougel (shingara)
on 2009-05-24 18:01
(Received via mailing list)
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 Mougel
http://blog.shingara.fr
79b719d7f060027f31511f43f030e5c7?d=identicon&s=25 Tony Chauveau (kusanar)
on 2009-05-24 20:50
> 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
2aa7672c7b9fd06ecb3b0213c36157b6?d=identicon&s=25 de Villamil Frédéric (Guest)
on 2009-05-24 21:02
(Received via mailing list)
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
frederic@de-villamil.com                        tel: +33 (0)6 62 19 1337
http://t37.net                       Typo : http://typosphere.org
B733017d23ecc26744965b829dba8675?d=identicon&s=25 Dominique Massia (domas)
on 2009-05-25 11:00
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
This topic is locked and can not be replied to.