ruby-on-rails – 在Rails中创建新模型实例时发送电子邮件的最佳
我有一个具有以下模型的应用程序:用户,任务和分配.每个分配属于用户和任务(或者换句话说,通过分配将任务分配给用户).
用户完成任务后,分配将标记为完成,应用程序会立即创建新的分配(或者换句话说,将任务分配给其他人). 创建此新作业后,我想立即向新受让人发送电子邮件.我知道我可以通过以下三种方式之一做到这一点: >在我的控制器中明确发送电子邮件. 人们认为哪种选择最好,为什么? #1对我来说似乎很糟糕,因为我不想记得在每个可能完成作业的动作中发送它.我听说有几个人说Rails观察员很糟糕,应该避免,但我不确定他们是不是我应该信任的人.还有其他意见吗? 解决方法
你是对的,第一种方式不是一个好方法.出于几个原因,观察者是我的首选方式.
首先,如果您使用TDD(测试驱动开发),您可以关闭观察者以更纯粹地测试模型,而不会在每次创建时触发邮件程序创建.然后你可以单独测试邮件和观察者. 其次,分离回调的想法创造了更清晰的代码.回调并不是模型的一部分,它们是事件.您的模型包含运行自身所需的函数和属性,回调(由观察者实现)是单独的事件处理程序. 也就是说,我不认为你的第二个选择是“坏”或不太专业.无论哪种方式都可以在模型级别工作,而不是控制器或(甚至更糟糕的)视图. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |