> Merci Michel & Guillaume pour vos réponses ! Après consultation des > utilisateurs de l'appli, ta solution Guillaume leur suffit. Du coup c'est > celle que j'ai retenue car c'est plus simple à implémenter. >
Attention, il faut que tu rendes atomique (c'est à dire ininterruptible) l'action "je relis pour vérifier que l'enregistrement n'a pas bougé puis je savue une nouvelle version". Je crois que c'est le concept des transactions [1] (je l'ai jamais mis en oeuvre mais j'y avais jeté un oeil pour un projet perso). Sinon tu risques le scénario suivant : A lit l'enregistrement en version x A édite l'enregistrement B lit l'enregistrement en version x B edite l'enregistrement A vérifie l'enregistrement toujours en x => OK B vérifie l'enregistrement toujours en x => OK A sauve et passe en version x+1 B écrase la sauvegard de A et passe aussi en x+1 gUI [1] http://api.rubyonrails.org/classes/ActiveRecord/Transactions/ClassMethods.html -- Pour la santé de votre ordinateur, préférez les logiciels libres. Lire son mail : http://www.mozilla-europe.org/fr/products/thunderbird/ Browser le web : http://www.mozilla-europe.org/fr/products/firefox/ Suite bureautique : http://fr.openoffice.org/ -- Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de Google Groups. Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse [email protected] Pour résilier votre abonnement envoyez un e-mail à l'adresse [email protected]
