Bonjour et merci à tous de votre participation
Si j'ai affirmé qu'il s'agissait d'une erreur SMTP c'est que celui ci
m'a posé d'énorme problème et donc je me méfie maintenant !
Sinon comme je l'ai dis, je ne suis pas le créateur de cette
application ; mon rôle devait se réduire uniquement à son installation
(j'ai très très peu de notion de ruby)
comme vous m'avez parlez de la méthode do_update je vous la montre (si
ça peut aider)
def do_update
logger.info("Doing update of #{self.wiki.title} with #
{self.baseline_process.title}")
if self.first_update?
Notifier::deliver_site_status(self, "STARTED creating New Wiki #
{self.wiki.title} using Baseline Process #
{self.baseline_process.title}")
self.wiki.wikify(self)
Notifier::deliver_site_status(self, "FINISHED creating new Wiki #
{self.wiki.title} using Baseline Process #
{self.baseline_process.title}")
else
Notifier::deliver_site_status(self, "STARTED update of Wiki #
{self.wiki.title} with Baseline Process #
{self.baseline_process.title}")
self.wiki.update_wiki(self)
Notifier::deliver_site_status(self, "FINISHED update of Wiki #
{self.wiki.title} with Baseline Process #
{self.baseline_process.title}")
end
self.finished_on = Time.now
self.save!
users = User.find(:all, :conditions => ['notify_immediate=?', 1])
unless users.empty?
subject = "Wiki #{self.wiki.title} Updated with Baseline
Process #{self.baseline_process.title}"
introduction = "User #{self.user.name} updated Wiki <a href=
\"http://#{self.wiki.url(true)}\">#{self.wiki.title}</a> with Baseline
Process #{self.baseline_process.title}."
Notifier::deliver_notification(users,subject,introduction,
nil)
end
expire_all_pages
# Notify contributors of harvested stuff
contributions = Upload.find(:all, :conditions => ['done=? and
review_note_send_on is null', 'Y']) +
Comment.find(:all, :conditions => ['done=? and
review_note_send_on is null and site_id=?', 'Y', self.wiki.id]) +
UserVersion.find(:all, :conditions => ['done=? and
review_note_send_on is null and wiki_id=?', 'Y', self.wiki.id])
contributions.collect{|rec|rec.user}.uniq.each do |u |
Notifier::deliver_contributions_processed(u,
contributions.collect{|rec|rec if rec.user == u}.compact)
end
contributions.each do |record|
record.review_note_send_on = Time.now
record.save!
end
end
On 10 avr, 15:50, guillaume belleguic <[email protected]>
wrote:
> Une remarque si je peux me permettre ton modèle s'appelle 'update' ... avec
> une fonction 'do_update'.je sais pas trop, mais moi j'évite les noms qui
> pourrait rentrer en conflit avec des méthodes...
>
> 2009/4/10 Cyril Mougel <[email protected]>
>
>
>
> > Angelo wrote:
> > > Bonjour à tous,
> > > j'ai une application rails développé par eclipse. A un moment
> > > l'application beug et me renvoi un message d'erreur undefined method
> > > `title' for nil:NilClass
> > > En regardant un peu mieux les log je vois ces 2 lignes :
> > > P:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/
> > > active_record/associations/association_proxy.rb:125:in `send'
> > > P:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/
> > > active_record/associations/association_proxy.rb:125:in
> > > `method_missing'
> > > /app/models/update.rb:43:in `do_update'
>
> > > qui semble indiqué qu'il s'agit d'un problème smtp. Pourtant, comme je
> > > suis sur un environnement de test j'ai ajouté l'instruction qui permet
> > > de ne pas utiliser de serveur SMTP
> > > config.action_mailer.delivery_method = :test
>
> > > Auriez vous une idée du problème ?
> > ligne 43 de ton model tu appeles la méthode .title sur un objet qui est
> > en fait nil. Tu devais surement le crois non nil sauf que parfois il est
> > nil.
>
> > Par contre j'avoue que je le coup du SMTP, je la recherche encore
> > longtemps. Un proxy n'a rien a voir avec du SMTP. c'est juste un pattern.
>
> > --
> > Cyril Mougel
> >http://blog.shingara.fr
--~--~---------~--~----~------------~-------~--~----~
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]
-~----------~----~----~----~------~----~------~--~---