Rails,构建模型并使用观察者 - 模型保存顺序?

时间:2011-01-30 18:37:07

标签: ruby-on-rails ruby-on-rails-3

在我的应用中,您可以创建一个主题。线程有参与者,附件和评论。

我有一个评论观察员,发送电子邮件通知。问题是我需要在comment_observer发送电子邮件之前保存附件,以便我可以将它们包含在电子邮件中。

当我得到一个评论和附件的线程时,我像这样构建对象:

@thread = Thread.new(:title => 'XXXXXX')
@thread.thread_participants.build(:user_id => xxxxx)
@thread.attachments.build(xxxxxxx)
@thread.comments.build(:content => 'XXXXXXXX')
@thread.save

然后在观察者中,我有

class CommentObserver < ActiveRecord::Observer
  observe :comment
  def after_save(record)
  UserMailer......... deliver

我遇到的问题是发送邮件通知的CommentObserver是在保存附件之前发送的。意思是我还没有ID,它们是零,这意味着我无法在电子邮件中引用链接。

在观察员运行并发送电子邮件通知之前,有关如何获取附件的任何想法都已保存?

由于

0 个答案:

没有答案