本文介绍了如何在ActionMailer的after_action过滤器中获取操作的名称的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在下面的类中,如何获取当前操作名称(即 email_confirmation password_reset 事后行动回调 add_mandril_headers

In the class below, how do I get the current action name (i.e. email_confirmation, password_reset) in side the after_action callback add_mandril_headers?

class UserMailer < ActionMailer::Base

  after_action :add_mandril_headers

  def email_confirmation(user)
    mail(..)
  end

  def password_reset(user)
    mail(..)
  end

private

  # how to get the action name?
  def add_mandrill_headers
    headers['X-MC-Tags'] = [mailer_name, action_name].join('_');
  end
end


推荐答案

转out action_name 返回当前邮件程序动作名称。我基于 ActionController 具有类似方法的事实进行了尝试。

Turns out action_name returns the current mailer action name. I tried it based on the fact that ActionController has a similar method.

这篇关于如何在ActionMailer的after_action过滤器中获取操作的名称的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-01 23:08