Forum: Rails France Mulder ! A l'aide !

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Guillaume B. (Guest)
on 2009-02-01 13:42
(Received via mailing list)
tu tuuuuu tu tu tu tuuuuuuuu (*)

j'ai un bug... heu... que j'arrive pas du tout à sollutionner.

j'ai un modèle Consumption avec (entre autre) une méthode :

  def consume
    self.stock-=self.quantity
    self.save
  end

mon soucis c'est que appremment ça ne se sauve pas.

dans une console je tape :
>> c=Consumption.find(:first)

>> c.consume
=> 76

>> c.consume
=> 64

donc ma méthode à l'aur de marcher. pourtant dans mon navigateur les
stocks
ne bougent pas.
si je tapes dans ma console :
>> c.save

ca y est, je vois les nouvelles valeurs dans mon navigateur...

vous avez une idée ?

gUI

(*) Vous aurez bien sur reconnu le générique de X-Files

--
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/
Cyril M. (Guest)
on 2009-02-01 13:59
(Received via mailing list)
Guillaume B. wrote:
> tu tuuuuu tu tu tu tuuuuuuuu (*)
>
> j'ai un bug... heu... que j'arrive pas du tout à sollutionner.
>
> j'ai un modèle Consumption avec (entre autre) une méthode :
>
>   def consume
>     self.stock-=self.quantity
>     self.save
>   end
Pourquoi self.save et pas save tout court ?

sinon as-tu essayé avec save! pour voir si une erreur t'étais levée ?

as-tu essayé de fait un print de self avant de save pour voir si
l'instance a eu ses valeurs changées ?

--
Cyril M.
http://blog.shingara.fr/
Guillaume B. (Guest)
on 2009-02-01 14:31
(Received via mailing list)
> Pourquoi self.save et pas save tout court ?


heu... parce que je savais pas... dans la methode je mets save tout
court ?
en tous cas le pb est le meme...



> sinon as-tu essayé avec save! pour voir si une erreur t'étais levée ?


ni save! self.save! ne retournent d'erreur.

as-tu essayé de fait un print de self avant de save pour voir si
> l'instance a eu ses valeurs changées ?


oui, et l'instance a bien ses valeurs qui changent.

non, je comprends pas du tout ce qui peut se passer.

gUI

--
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/
Cyril M. (Guest)
on 2009-02-01 14:39
(Received via mailing list)
Guillaume B. wrote:
>     sinon as-tu essayé avec save! pour voir si une erreur t'étais levée ?
> non, je comprends pas du tout ce qui peut se passer.
n'est pas un objet qui n'est pas "à jour". Par exemple tu le récupéres
avant de faire la mise à jour. tu fais la mise à jour sur une autre
instance et tu utilises la première pour ton affichage du coup les
valeurs sont dans l'ancien état.

Sinon autre possibilité, le partial update de Rails 2.1[1]. Fait un test
pour savoir si l'objet a été considéré comme changé :

puts changed?

si ce n'est pas le cas alors il faut indiquer à ActiveRecord que le
changement a eu lieu :

stock_will_change!


[1] :
http://blog.shingara.fr/2008/04/18/suivi-des-evolu...


--
Cyril M.
http://blog.shingara.fr/
Guillaume B. (Guest)
on 2009-02-01 14:54
(Received via mailing list)
Bon, laissez tomber, j'ai fait mon gros boulet (-:

Contre un peu d'argent je suis prêt à expliquer, mais je vous avertis,
c'est
un gros coup de boulet !!!

gUI

--
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/
Guillaume D. (Guest)
on 2009-02-02 08:05
(Received via mailing list)
Salut,

Le 1 févr. 09 à 13:54, Guillaume B. a écrit :

> Bon, laissez tomber, j'ai fait mon gros boulet (-:

Allez, juste par curiosité... tu avais fait quoi ?

> Contre un peu d'argent je suis prêt à expliquer, mais je vous
> avertis, c'est un gros coup de boulet !!!

€€€

Guillaume D.
Président de l'association Ruby France
http://www.rubyfrance.org/
Guillaume B. (Guest)
on 2009-02-02 08:09
(Received via mailing list)
> Allez, juste par curiosité... tu avais fait quoi ?
>

... je modifiais pas la bonne méthode. Je vous parlais de "Consumption",
mais je travaillais avec "Production". Donc forcément, il n'y avait pas
d'effet.

La méthode "consume" de "Production" existait pour des raisons
historiques
mais je ne m'en servais pas. Et c'est elle dont je modifiais le code.

La méthode "consume" de Consumption, elle,  ne contenait pas de "save",
d'où
le fait qu'elle ne sauvegardait rien !

gUI

--
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/
This topic is locked and can not be replied to.