Le 10 avril 2009 16:31, Cyril Mougel <[email protected]> a écrit :
> Comme dis précédement :
>
> /app/models/update.rb:43:in `do_update'
>
> Voici la seule ligne qui te suffit et où se trouve la ligne.
Non, je suis plutôt d'accord avec ook? c'est dans Wiki#update_wiki
> Ton log ne donne pas les lignes :)
Visiblement on a :
Update < AR::B, BaselineProcess < AR::B, Wiki < AR::B
Update.belongs_to :wiki, Update.belongs_to :wiki
BaselineProcess.belongs_to :wiki
Update#do_update appelle (via un proxy, mais ça importe peu)
la méthode Wiki#update_wiki
Au début de la méthode, on a :
bp = update.baseline_process
logger.info("Starting update of wiki #{self.title} from baseline
process #{self.baseline_process.title} (#{self.baseline_process.id})
to #{bp.title} (#{bp.id})")
soit bp = update.baseline_process vaut nil
ou self.baseline_process vaut nil.
Du coup la ligne 118 serait l'appel au logger.
Ceci dit, dans Update#do_update, avant d'arriver
à la ligne :
self.wiki.update_wiki(self)
...il y a déjà des self.baseline_process.title et self.wiki.title
qui passent bien. Ce qui voudrait dire que l'association
Update -> BaselineProcess est ok, Update -> Wiki est ok,
mais pas Wiki -> BaselineProcess
Donc l'erreur proviendrait de :
self.baseline_process.title dans Wiki#update_wiki dans le logger.info(...)
précédemment cité.
À part ça, je suis d'accord avec Guillaume, appeler un modèle Update
est une très mauvaise idée, tu as Wiki.has_many :updates
donc tu fais des wiki.updates, mais ça ressemble trop
à AR::B#update, c'est un truc à se faire avoir un de ces 4,
d'ailleurs quand on voit le code avec des :
update.update_attributes()
Ceci dit, on peut dire que le code est globalement affreux.
-- Jean-François.
--
http://twitter.com/underflow_
--~--~---------~--~----~------------~-------~--~----~
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]
-~----------~----~----~----~------~----~------~--~---