【发布时间】:2011-01-11 06:18:26
【问题描述】:
我的应用具有以下型号:User、Task 和 Assignment。每个Assignment belongs_to 一个用户和一个任务(或者换句话说,一个任务通过一个Assignment 分配给一个用户)。
一旦用户完成一项任务,该任务就会被标记为完成,并且应用程序会立即创建一个新任务(或者换句话说,将任务分配给其他人)。
创建此新任务后,我想立即向新受让人发送电子邮件。我知道我可以通过以下三种方式之一做到这一点:
- 在我的控制器中明确发送电子邮件。
- 在分配模型的回调中发送电子邮件。
- 在 Assignment 模型上创建一个观察者并发送电子邮件至
after_create。
人们认为哪些选项最好,为什么? #1 对我来说似乎很糟糕,因为我不想记住在每个可能完成作业的操作中发送它。我听过一些人说 Rails 观察者很糟糕,应该避免,但我不确定他们是否是我应该信任的人。还有其他意见吗?
【问题讨论】:
标签: ruby-on-rails email model callback observer-pattern