我有一个应用程序,其中包含以下模型:
当用户完成任务后,
在创建这个新的
User
、Task
和Assignment
。每个Assignment
都belongs_to
一个User
和一个Task
(或者换句话说,通过Assignment
将任务分配给用户)。当用户完成任务后,
Assignment
标记为已完成,然后应用程序立即创建新的Assignment
(或者换句话说,将任务分配给其他人)。在创建这个新的
Assignment
之后,我想立即向新的受让人发送电子邮件。我知道有三种方法可以做到这一点:
- 在我的控制器中显式发送电子邮件。
- 在
Assignment
模型的回调函数中发送电子邮件。 - 在
after_create
中创建Assignment
模型观察器并发送电子邮件。
Assignment
的每个操作中都记得发送它。我听过一些人说Rails观察器很糟糕,应该避免使用它们,但我不确定他们是否值得信任。还有其他的意见吗?