我正在向用户发送电子邮件,我需要调用我在ApplicationController中的函数。看似简单,但我不能为我的生活找到任何关于如何做到这一点的文档。我可以很好地访问ApplicationHelper函数,但是这对我所需要做的事情没有好处......任何人都可以对这个问题有所了解吗?
答案 0 :(得分:2)
所以不确定这是否会对任何人有所帮助,因为这是一个高度项目特定的案例,但这就是我为此所做的工作:
include ApplicationHelper
添加到Mailer类和我的ApplicationController。if !provider_signed_in?
的逻辑,我更新到if defined?(provider_signed_in?) && !provider_signed_in?
,这样它就不会返回未定义的方法错误...如果提供程序已登录,我需要的逻辑与邮件程序(因为提供商永远不会收到这封电子邮件),所以它并不重要,即使它在我在网站上使用它的其他地方都很重要。感谢Rahul帮助我思考这个问题。
答案 1 :(得分:0)
有一种名为helper
的方法,您可以在邮件中使用该方法在邮件程序中包含您的帮助程序。
# mailer_helper.rb
module MailerHelper
def your_method
# do whatever you want to do here.
end
end
# in your mailer file
class WelcomeMailer < ActionMailer::Base
helper MailerHelper
.....
end
并且不是,现在你也可以使用视图中的方法。