rails 中 register_interceptor 和 after_actions 的区别

sar*_*wal 5 ruby-on-rails actionmailer sidekiq

我正在rails 5Amazon SES. 我想在发送电子邮件之前对其进行限制,因为 SES 无法在短时间内处理大量电子邮件并且邮件作业失败。

所以我想添加一个sidekiq具有速率限制的工人。

我应该从哪里打电话给工人,mail_interceptor或者after_actions

附注。一般来说,它们之间有什么区别?

Har*_*yay 0

存在巨大差异。

邮件拦截器

当在 Rails 中使用 ActionMailer 时,有一种方法可以在调用“Deliver”方法之后、但在投递代理实际发送消息之前挂钩出站消息。您可以将控制器中的这些拦截器视为 before_action 过滤器。如果您需要在实际交付之前进行任何类型的修改,则需要使用拦截器。

行动后

这是控制器的回调,用于在方法或操作完成后执行某些操作。

请参阅以获得更多理解。