我有一个具有以下模型的应用程序:用户,任务和分配.每个分配属于用户和任务(或者换句话说,通过分配将任务分配给用户).
用户完成任务后,分配将标记为完成,应用程序会立即创建新的分配(或者换句话说,将任务分配给其他人).
创建此新作业后,我想立即向新受让人发送电子邮件.我知道我可以通过以下三种方式之一做到这一点:
>在我的控制器中明确发送电子邮件.
>在Assignment模型的回调中发送电子邮件.
>在Assignment模型上创建一个观察者,并在after_create中发送电子邮件.
人们认为哪种选择最好,为什么? #1对我来说似乎很糟糕,因为我不想记得在每个可能完成作业的动作中发送它.我听说有几个人说Rails观察员很糟糕,应该避免,但我不确定他们是不是我应该信任的人.还有其他意见吗?