=?iso-8859-1?q?Pb_de_cr=E9ation/modification_d=27enreg?= =?i

Bonjour,

Je souhaite créer un nouvel enregistrement dans une table sans clé
autonum.
Si la clé est définie dans le modèle (set_primary_key), la méthode new
ne
permet pas d’affecter une valeur à cette clé. Si la clé n’est pas
définie,
l’update ne fonctionne plus sur la méthode save… Faut-il que je ne
définisse aucune clé primaire dans le modèle et que je recode le “save”
ou y
a-t-il une autre solution ?

D’avance merci de votre aide

Samuel

Bonjour,

Si la clé est définie dans le modèle (set_primary_key), la méthode new
ne
permet pas d’affecter une valeur à cette clé. Si la clé n’est pas
définie,

pourquoi ne pas utiliser “auto_increment” pour ta key ? il incrémentera
ta clé quand tu feras un new.

Pierre M.
pmt tecsas.fr

pourquoi ne pas utiliser “auto_increment” pour ta key ? il incrémentera
ta clé quand tu feras un new.

Pierre M.
pmt tecsas.fr

Parce que c’est une base existante dont je ne peux pas changer le
modele.
Ceci dit entre temps j’ai trouvé la solution à mon problème, pour ceux
que
ça intéresse la voici :

Il faut utiliser “objet.id” au moment de renseigner la clé après le new,
même si le set_primary_key spécifie un autre nom. C’est le seul cas où
il
faut utiliser “.id”, dans tous les autres cas on utilisera "
objet.clé_primaire". Sioux…

Samuel

Page 222 du livre “Ruby on Rails” édition française :wink: et c’est tellement
sioux que c’est peut-être trop sioux…

J’en profite d’avoir un des auteurs du livre sous la main pour faire une
petite remarque : c’est effectivement grâce à “Ruby on Rails” version
française que j’ai trouvé la solution, mais pas grâce à son index… Ce
bouquin est une bible mais son index aurait mérité un peu plus
d’attention.
En dehors de ça, ce livre est indispensable, qu’on se le dise.

Parce que c’est une base existante dont je ne peux pas changer le
modele. Ceci dit entre temps j’ai trouvé la solution à mon
problème, pour ceux que ça intéresse la voici :

Il faut utiliser " objet.id" au moment de renseigner la clé après
le new, même si le set_primary_key spécifie un autre nom. C’est le
seul cas où il faut utiliser “.id”, dans tous les autres cas on
utilisera " objet.clé_primaire". Sioux…

Page 222 du livre “Ruby on Rails” édition française :wink: et c’est
tellement sioux que c’est peut-être trop sioux…

J’en profite d’avoir un des auteurs du livre sous la main pour
faire une petite remarque : c’est effectivement grâce à “Ruby on
Rails” version française que j’ai trouvé la solution, mais pas
grâce à son index… Ce bouquin est une bible mais son index aurait
mérité un peu plus d’attention. En dehors de ça, ce livre est
indispensable, qu’on se le dise.

Pour l’index je suis totalement d’accord avec toi :-(, mais promis on
fera mieux pour la 2ème édition !


http://www.railsfrance.org/
http://paris.onrails.info/

Samuel DECHOMETS wrote :
| >pourquoi ne pas utiliser “auto_increment” pour ta key ? il incrémentera
| >ta clé quand tu feras un new.
|
| >Pierre M.
| >pmt tecsas.fr
|
| Parce que c’est une base existante dont je ne peux pas changer le modele.
| Ceci dit entre temps j’ai trouvé la solution à mon problème, pour ceux que
| ça intéresse la voici :

J’ai aussi eu à travailler avec une base existante, mais dans mon cas,
on utilisait une table de séquence pour renseigner la clé primaire…
Du coup j’ai écrit une petite recette:
http://fora.pragprog.com/rails-recipes/write-your-own/post/84

et j’ai commencé (mais pas tout à fait fini) un petit texte sur les
différents aspects à traiter :

http://sl33p3r.free.fr/tutorials/rails/legacy/legacy_databases.html#The_anti_RoR_database


Frederick R. aka Sleeper – [email protected]

/* Identify the flock of penguins. */
linux-2.2.16/arch/alpha/kernel/setup.c

http://sl33p3r.free.fr/tutorials/rails/legacy/legacy_databases.html#The_anti_RoR_database

C’est très intéressant, merci. Concernant les clés, je suis encore dans
un
autre cas : les clés ne sont pas non plus gérées avec des tables de
séquence
mais fixées par des règles métier et donc “programmatiquement”
renseignées.

J’en profite pour rebondir sur un autre sujet somme toute assez proche
de
celui-ci : quelqu’un sait-il si RoR intégrera un jour le support des
clés
multiples ?

Samuel

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs