IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Ruby on Rails Discussion :

paramétres pour recherche find


Sujet :

Ruby on Rails

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1
    Points : 1
    Points
    1
    Par défaut paramétres pour recherche find
    J' utilise dans un controleur:

    find(:all, :conditions=>["nom= :nom or prenom= :prenom", params])

    J' ai une vue avec un formulaire de recherche qui renvoie vers une action du controleur dans admin, mais je n'arrive à rédiger le code pour params et renvoyer le contenu de la table de hachage vers ma requête find.

    de plus est-il possible d'avoir des conditions en or et and.

    Merci

  2. #2
    Expert éminent
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Points : 7 285
    Points
    7 285
    Par défaut
    Bonjour et bienvenue à toi

    Tu devrai plutôt essayer sous cette forme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    mon_nom = "toto"
    mon_premom = "tata"
     
    MonModele.find(:all, :conditions=>["nom= ? OR prenom= ?", mon_nom, mon_premom])
    Globalement inoffensif
    Merci de respecter les règles du forum.
    Aucune question technique par MP !
    _______________________________________________________________________
    Cours Ruby et Ruby on Rails (RoR) - Cours PHP - FAQ Ruby / Rails - Livres Ruby / Rails
    Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS
    Tutoriaux HTML/CSS et PHP

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 20
    Points : 17
    Points
    17
    Par défaut
    Il y a aussi une autre façon d'écrire la requéte (ni pire ni meilleur), je la préfère
    parce que plus facilement lisible:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     MonModel.find_all_by_nom_and_prenom(nom, prenom)

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 104
    Points : 120
    Points
    120
    Par défaut
    Me semblait avoir lu, je sais plus où, que l'utilisation des finders dynamiques étaient plutot déconseillée, ils sont assez couteux en terme de performance (vu qu'ils sont générés a la volée via un missing_method ou truc du genre de mémoire).

  5. #5
    Membre éclairé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    510
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 510
    Points : 652
    Points
    652
    Par défaut
    Me semblait avoir lu, je sais plus où, que l'utilisation des finders dynamiques étaient plutot déconseillée, ils sont assez couteux en terme de performance
    Peux tu retrouver la source de cette info ?
    Au contraire je trouve que la solution du "find_all_by_nom_and_prenom" est trés propre.
    Ca donne une bonne lisibilité du code.
    Ensuite, c'est completement dans le sens de Rails : Plutot charger le modele, et faire des controleurs simples, lisibles et concis.
    Autre avantage, si le finder doit etre réutilisé, il est déja factorisé dans le modele, c'est plutot bon ça !

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2003
    Messages : 127
    Points : 124
    Points
    124
    Par défaut
    J'ai également lu que les finders dynamiques sont moins performants :

    http://antoniocangiano.com/2007/02/1...rformance-tips
    Mon blog sur Ruby on Rails : 2dconcept

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 104
    Points : 120
    Points
    120
    Par défaut
    Je l'avais lu au même endroit, merci.

    Par contre Zfred, ca t'empeche pas de charger ton modele, simplement il vaut mieux redéfinir une methode a la mano dans ton model ( par exemple find_all_by_fullname ) dans laquelle tu appelles find(:conditions =>... ) plutot que d'utiliser le find_all_by_nom_and_prenom ( qui est effectivement lisible par contre, je suis bien d'accord )

Discussions similaires

  1. Réponses: 11
    Dernier message: 18/11/2005, 11h47
  2. paramètres pour une fonction
    Par bul dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 28/05/2005, 07h49
  3. Outils pour rechercher des fuites de memoires dans un prog
    Par elekis dans le forum Applications et environnements graphiques
    Réponses: 5
    Dernier message: 29/04/2005, 21h06
  4. Réponses: 7
    Dernier message: 10/02/2005, 13h44
  5. Réponses: 3
    Dernier message: 21/05/2003, 11h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo