在ActionMailer中访问控制器助手

时间:2012-11-15 11:55:27

标签: ruby-on-rails

我想在我的电子邮件模板中访问帮助方法。帮助程序在控制器中定义,并且是:helper_method。我怎样才能做到这一点?我知道如何在ActionMailer中使用帮助文件,但这是不同的。

修改

我不想将帮助程序的结果传递给邮件程序方法,因为我必须在每个邮件方法上执行此操作。

1 个答案:

答案 0 :(得分:2)

只需将current_user传递给邮件程序方法即可。邮件程序不应该访问会话变量,而current_user方法依赖于会话变量。如果您将电子邮件作为后台进程发送怎么办?谁将成为current_user?

MyMailer.hello_email(current_user).deliver 

class MyMailer < ActionMailer::Base 
  def hello_email(user)
    @user = user
  end
end