【发布时间】:2013-08-15 17:35:31
【问题描述】:
在this post 和this post 之后,我整理了以下内容。
在 app/helpers/mailer_helper.rb 中:
module MailerHelper
def sys_addy
@sys_addy = current_site == "site1" ? "me@site1.com" : "me@site2.com"
end
end
尝试 1 将辅助方法调用置于方法之上 - app/mailers/user_mailer.rb:
class UserMailer < ActionMailer::Base
helper :mailer
sys_addy
default :from => @sys_addy
def notice_email
...
end
end
尝试 2 将辅助方法调用放在方法内 - app/mailers/user_mailer.rb:
class UserMailer < ActionMailer::Base
helper :mailer
def notice_email
sys_addy
...
mail( ...:from => @sys_addy )
end
end
在这两种情况下我都得到了:
NameError (undefined local variable or method `sys_addy'
感谢您的帮助。
【问题讨论】:
-
我想你想在你的 UserMailer 模型中使用
include MailerHelper -
@MrYoshiji,使用 include MailerHelper 会产生同样的错误。
-
不不,试试
include MailerHelper和紧随其后的helper :mailer -
您可以使用
Thread.current[:site] = site在您的应用中存储“动态”数据。但这并不安全,有兴趣的可以看看;)
标签: ruby-on-rails ruby-on-rails-3.2 actionmailer