【问题标题】:Rails 3.2 can't dry up this Action MailerRails 3.2 不能干掉这个 Action Mailer
【发布时间】:2016-02-18 23:37:49
【问题描述】:

出于营销目的,我需要在我的 UserMailer 中的大约 15 个操作邮件方法中使用一个名为 @template_name 的实例变量。我不想到处丢东西:

@template_name  = __callee__

在我所有的方法中,或者在视图中删除字符串,我想让它尽可能 DRY。创建一个可以访问方法名称而不是其本身的回调似乎具有挑战性,即无论从哪个方法触发它都会返回“do_thing”。

before_action :do_thing
def do_thing
  __callee__ # old way was __method__ 
end

非常欢迎任何建议!

【问题讨论】:

    标签: ruby-on-rails actionmailer


    【解决方案1】:

    查看this 的帖子。

    如果我理解正确,您可以简单地执行以下操作:

    导轨 > 4

    before_action { @template_name = action_name }
    

    导轨

      include AbstractController::Callbacks
      before_action { @template_name = action_name }
    

    【讨论】:

    • 正是我想要的。编辑了
    猜你喜欢
    • 2012-02-06
    • 1970-01-01
    • 1970-01-01
    • 2011-05-15
    • 1970-01-01
    • 1970-01-01
    • 2013-05-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多