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 :

Plusieurs références à un même Model


Sujet :

Ruby on Rails

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 18
    Points : 11
    Points
    11
    Par défaut Plusieurs références à un même Model
    Bonjour,

    J'ai créé le Model suivant :
    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
    21
    22
    class CreateVilles < ActiveRecord::Migration
      def self.up
        create_table :villes do |t|
          t.string :nom
          t.references :Etat
     
          t.timestamps
        end
      end
     
    class CreateLignes < ActiveRecord::Migration
      def self.up
        create_table :lignes do |t|
          t.references :depart
          t.references :arrivee
          t.integer :distance
          t.datetime :heure_depart
          t.integer :taxes_ligne
     
          t.timestamps
        end
      end
    depart et arrivee sont des villes.
    j'ai donc mis ceci dans le contrôleur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    class Ville < ActiveRecord::Base
      has_many :Lignes
      belongs_to :Etat
    end
     
    class Ligne < ActiveRecord::Base
      belongs_to :depart, :class_name => 'Ville', :foreign_key => 'depart_id'
      belongs_to :arrivee, :class_name => 'Ville', :foreign_key => 'arrivee_id'
      has_many :Vols
    end
    lors de la création, tout "semble" bien se passer mais lorsque j'essaie d'afficher (donc le index.erb.html ou le show.erb.html), j'ai l'erreur suivante :
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     ActiveRecord::RecordNotFound in Lignes#show
     
    Showing lignes/show.html.erb where line #4 raised:
     
    Couldn't find Ligne without an ID
     
    Extracted source (around line #4):
     
    1: <p>
    2:   <b>Depart:</b>
    3:   <%=h Ligne.find(@ligne.depart_id).nom %>
    4: </p>
    5: 
    6: <p>
    7:   <b>Arrivee:</b>
     
    RAILS_ROOT: C:/Documents and Settings/Sylvain Desbureaux/Mes documents/NetBeansProjects/SeventyPlanesCalculator
    Application Trace 
     
    C:/Program Files/NetBeans 6.1/ruby1/jruby-1.0.3/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/base.rb:1248:in `find_from_ids'
    C:/Program Files/NetBeans 6.1/ruby1/jruby-1.0.3/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/base.rb:504:in `find'
    app/views/lignes/show.html.erb:4:in `_run_erb_47app47views47lignes47show46html46erb'
    app/controllers/lignes_controller.rb:20:in `show'
    ...
     
    Request
     
    Parameters:
     
    {"id"=>"2"}
    Sachant que le code <%=h Ligne.find(@ligne.depart_id).nom %> marche bien dans les cas ou j'ai une relation avec une seul références. Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <td><%=h Etat.find(ville.etat_id).nom %></td>
    D'ailleurs, je trouve pas ça très propre dons si il ya une manière "classe" de le faire... (j'ai essayé ville.Etat.nom mais ça marche pas)

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 18
    Points : 11
    Points
    11
    Par défaut
    Le problème était que j'avais nommé les références avec une majuscule et c'est pas ce qu'il faut faire

    pour la "vraie" partie références à un même modele, ça marche très bien quand vous ne faites pas comme moi des erreurs très bête (mauvais Model...)

    c'est donc résolu !

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

Discussions similaires

  1. Faire référence à un même ouvrage plusieur fois
    Par etranger dans le forum Débuter
    Réponses: 1
    Dernier message: 14/01/2010, 16h26
  2. Réponses: 3
    Dernier message: 31/03/2008, 17h38
  3. [VB.NET] Appliquer plusieurs fois la même fonction...
    Par MiJack dans le forum Windows Forms
    Réponses: 9
    Dernier message: 22/09/2004, 10h52
  4. Requete select imbriqués avec plusieurs références
    Par GAlion dans le forum Langage SQL
    Réponses: 4
    Dernier message: 06/08/2004, 14h06
  5. Réponses: 9
    Dernier message: 17/04/2004, 16h32

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