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 Discussion :

active_record primary_key save


Sujet :

Ruby

  1. #1
    WBO
    WBO est déconnecté
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 78
    Points : 57
    Points
    57
    Par défaut active_record primary_key save
    Bonjour,

    j'utilise Rails 3.2.14

    j'ai un modèle class suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    class Ligcde < ActiveRecord::Base
      self.table_name = "ligcde"
      self.primary_key = "codcde, numlg"
      ################################### c003_fill_it
      def c003_fill_it(codact, codcde, codart, codclr, qtelg, qteclr, varmb, cpltmb)
       self.codcde = codcde
        self.numlg = 1
        self.codart = codart
        self.codclr = codclr
        self.qtelg = qtelg
        self.qteclr = qteclr
      end
    end
    pour créer un record, je fait le code suivant dans mon controller :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ligne_ar = Ligcde.new
    ligne_ar.c003_fill_it('S', numAR[0][0], article, coloris, qte, qteclr, varmb,cpltmb)
    ligne_ar.save
    lorsque je fais le save, j'ai dans mes traces
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    INSERT INTO "LIGCDE" ("AVANCEMT", "CHARGE", "CODART",
    "CODCDE", "CODCLR", "CODE_PRODUIT", "CODSM", "COMM", "CPLTMB", "ECO_MNT_HT", "ECO_MNT_TTC", "ECO_POIDS", "ECO_QTE", "HORCOL", "INDFCOL", "LARGEUR", "LIGSM", "LONGUEUR", "MAJORATION", "NBCOLIS", "NUANCE", 
    "NUMLG", "NUMLGBON", "PRIXDEV", "PRIXFF", "PRIXGROS", "PRIXNET", "PRUFAB", "PSEUDO", "QTECLR", "QTECOUSUE", "QTELG", "QTEREEL", "REGROUP_ID", "RME", "RMU", "SATISF", "TRTTACHE", "TYPLIG", "UNIQUE_ID", "VARMB") VALUES (:a1, :a2, :a3, :a4, :a5, :a6, :a7, :a8, :a9, :a10, :a11, :a12, :a13, :a14, :a15, :a16, :a17, :a18, :a19, :a20, :a21, :a22, :a23, :a24, :a25, :a26, :a27, :a28, :a29, :a30, :a31, :a32, :a33, :a34, :a35, :a36, :a37, :a38, :a39, :a40, :a41) 
    RETURNING "codcde, numlg" INTO :returning_id  [["avancemt", nil], ["charge", nil], ["codart", "005HDB10"], 
    ["codcde", "A06123"], ["codclr", nil], ["code_produit", nil], ["codsm", nil], ["comm", nil], ["cpltmb", nil], ["eco_mnt_ht", nil], ["eco_mnt_ttc", nil], ["eco_poids", nil], ["eco_qte", nil], ["horcol", nil], ["indfcol", nil], ["largeur", nil], ["ligsm", nil], ["longueur", nil], ["majoration", nil], ["nbcolis", nil], ["nuance", nil], 
    ["numlg", 1], ["numlgbon", nil], ["prixdev", nil], ["prixff", nil], ["prixgros", nil], ["prixnet", nil], ["prufab", nil], ["pseudo", nil], ["qteclr", nil], ["qtecousue", nil], ["qtelg", #<BigDecimal:7f939c50,'0.1E1',9(18)>], ["qtereel", nil], ["regroup_id", nil], ["rme", nil], ["rmu", nil], ["satisf", "C"], ["trttache", nil], ["typlig", "P"], ["unique_id", nil], ["varmb", "5CAR"], ["returning_id", nil]]
    tout me parais bien, par contre, j'ai le message d'erreur suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    OCIError: ORA-00904: "codcde, numlg": invalid identifier: 
    INSERT INTO "LIGCDE" ("AVANCEMT", "CHARGE", "CODART", "CODCDE", "CODCLR", "CODE_PRODUIT", "CODSM", "COMM", "CPLTMB", "ECO_MNT_HT", "ECO_MNT_TTC", "ECO_POIDS", "ECO_QTE", "HORCOL", "INDFCOL", "LARGEUR", "LIGSM", "LONGUEUR", "MAJORATION", "NBCOLIS", "NUANCE", "NUMLG", "NUMLGBON", "PRIXDEV", "PRIXFF", "PRIXGROS", "PRIXNET", "PRUFAB", "PSEUDO", "QTECLR", "QTECOUSUE", "QTELG", "QTEREEL", "REGROUP_ID", "RME", "RMU", "SATISF", "TRTTACHE", "TYPLIG", "UNIQUE_ID", "VARMB") VALUES (:a1, :a2, :a3, :a4, :a5, :a6, :a7, :a8, :a9, :a10, :a11, :a12, :a13, :a14, :a15, :a16, :a17, :a18, :a19, :a20, :a21, :a22, :a23, :a24, :a25, :a26, :a27, :a28, :a29, :a30, :a31, :a32, :a33, :a34, :a35, :a36, :a37, :a38, :a39, :a40, :a41) 
    RETURNING "codcde, numlg" INTO :returning_id
    Completed 500 Internal Server Error in 692ms
    je ne comprends pas car mes 2 variables de table (clé) sont bien définis ["codcde", "A06123"] et ["numlg", 1]

    si quelqu'un avait une idée ?

    merci

    Wilfried.

  2. #2
    WBO
    WBO est déconnecté
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 78
    Points : 57
    Points
    57
    Par défaut
    petite précision,

    si dans ma classe, je ne mets que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      self.primary_key = "codcde"
    , mon code fonctionne.

    le problème est bien lié au fait que j'ai 2 champs dans ma primary_key
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      self.primary_key = "codcde, numlg"

  3. #3
    WBO
    WBO est déconnecté
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 78
    Points : 57
    Points
    57
    Par défaut
    solution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      self.primary_keys = :codcde, :numlg
    le S à key et les :

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

Discussions similaires

  1. Unable to save result set
    Par souf dans le forum Requêtes
    Réponses: 3
    Dernier message: 19/07/2004, 16h41
  2. [Win32]Open/Save Dialog Box
    Par Chance666 dans le forum Windows
    Réponses: 2
    Dernier message: 07/01/2004, 17h47
  3. JBuilder 7 personnal sort à chaque save
    Par Hannouz dans le forum JBuilder
    Réponses: 4
    Dernier message: 17/12/2002, 23h53
  4. [VB6] [Graphisme] Dimensions d'une image au saving
    Par jeanseb dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 14/12/2002, 20h09
  5. Algo carry save adder
    Par bashou dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 18/10/2002, 12h32

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