Bonjour,
j'utilise Rails 3.2.14
j'ai un modèle class suivant :
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
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
lorsque je fais le save, j'ai dans mes traces
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
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
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]]
je ne comprends pas car mes 2 variables de table (clé) sont bien définis ["codcde", "A06123"] et ["numlg", 1]
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
si quelqu'un avait une idée ?
merci
Wilfried.
Partager