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 :

Question sur la recherche d'information dans la base de données


Sujet :

Ruby on Rails

  1. #1
    Futur Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 6
    Points : 5
    Points
    5
    Par défaut Question sur la recherche d'information dans la base de données
    Bonjour,

    J'ai commencer a développer une petit système de news, mais j' ai un petit problème avec la gestion des catégories :

    Dans mon modèle pour les catégories,
    j' ai ajouté la ligne :
    has_many :actualites
    et dans le modéle actualité j' ai ajouté la ligne :
    belong_to :cat

    Je sélectionne les catégories pour ajouter ou éditer une actu avec :
    @cats : Cat.find(:all)
    Puis je les mets dans un select,

    Mais pour lister les actualités, je n' arrive pas a sélectionner automatiquement la categorie des actualités, j' ai essayer :
    @actualites = actualite.find... ( l' id -> je n' ai pas le code a disposition )
    @cat = Cat.find(:all)

    Mais ca ne fonctionne pas :
    j' ai cru qu'avec le has_many et le belong_to en faisant :
    actualite.cat.nom j' obtiendrais a catégorie mais rien n' y fait,

    Quelqu'un peut m'éclairer sur la gestion des jointures ?

    Merci !

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    657
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 657
    Points : 910
    Points
    910
    Par défaut
    Salut,

    Citation Envoyé par tomt0m Voir le message
    j' ai cru qu'avec le has_many et le belong_to en faisant :
    actualite.cat.nom j' obtiendrais a catégorie mais rien n' y fait,
    Ca devrait fonctionner en effet.

    je n' ai pas le code a disposition
    Et nous encore moins ...

  3. #3
    Futur Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Voici le code dans mon index.rhtml

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    <table>
      <tr>
        <th>Titre</th>
        <th>Contenu</th>
        <th>Id membre</th>
        <th>Id cat</th>
      </tr>
     
    <% for actualite in @actualites %>
      <tr>
        <td><%=h actualite.titre %></td>
        <td><%=h actualite.contenu %></td>
        <td><%=h actualite.id_membre %></td>
        <td><%=h actualite.cat.nom %></td>
        <td><%= link_to 'Show', actualite %></td>
        <td><%= link_to 'Edit', edit_actualite_path(actualite) %></td>
        <td><%= link_to 'Destroy', actualite, :confirm => 'Are you sure?', :method => :delete %></td>
      </tr>
    <% end %>
    </table>
    Mon contrôleur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
      def index
        @actualites = Actualite.find(:all)
    	@cat = Cat.find(:all)
     
     
     
        respond_to do |format|
          format.html # index.html.erb
          format.xml  { render :xml => @actualites }
        end
    Mes modèles :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    class Cat < ActiveRecord::Base
      has_many :actualites
    end
    class Actualite < ActiveRecord::Base
      belongs_to :cat
      validates_presence_of :titre, :message => "manquant !"
    end
    Et l' erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     Showing actualites/index.html.erb where line #16 raised:
     
    You have a nil object when you didn't expect it!
    The error occurred while evaluating nil.nom
     
    Extracted source (around line #16):
     
    13:     <td><%=h actualite.titre %></td>
    14:     <td><%=h actualite.contenu %></td>
    15:     <td><%=h actualite.id_membre %></td>
    16:     <td><%=h actualite.cat.nom %></td>
    17:     <td><%= link_to 'Show', actualite %></td>
    18:     <td><%= link_to 'Edit', edit_actualite_path(actualite) %></td>
    19:     <td><%= link_to 'Destroy', actualite, :confirm => 'Are you sure?', :method => :delete %></td>

  4. #4
    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
    Je ne vois rien de vraiment faux dans ton code.

    Qu'en est-il de la base de données? Ta table actualites possède bien un champs cat_id? Et il a bien une valeur?

    Je te conseille de prendre l'habitude de donner des noms plus représentatifs à tes modèles, et en anglais! Ca t'évitera bien des pertes de temps et ce sera plus clair.

    Donc category -> categories par exemple.

  5. #5
    Futur Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    J' ai trouvé l' erreur !!
    j' ai utilisé id_cat au lieu de cat_id dans la base donnée !!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 22/02/2013, 16h46
  2. Rechercher des informations dans une base de donnée en excel
    Par simonasjdp dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 13/07/2009, 19h10
  3. [Toutes versions] Recherche d'informations dans la base de données
    Par lulu3111 dans le forum Project
    Réponses: 2
    Dernier message: 04/05/2009, 09h43
  4. Réponses: 2
    Dernier message: 10/08/2006, 13h49
  5. [MySQL] Envoi d'information dans une base de donnée via formulaire
    Par Mysti¢ dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 30/03/2006, 20h35

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