0

是否可以在运行时为 ActionMailer 设置 template_root?我似乎可以在开发模式下使用:

ActionMailer::Base.template_root = my_view_path if File.exists (File.join(my_view_path,"test_mailer"))

我正在检查邮件程序视图目录是否存在于我的特殊 view_path 中,如果存在,则将该 view_path 用于 ActionMailer。否则保持默认。这发生在请求时,而不是在 environment.rb 中的配置时。在开发模式下工作。

当我将它移动到我的生产服务器时,我在运行时收到一个错误,它无法在应用程序/视图中找到 xxx.erb 文件。所以它仍然在默认路径而不是我的特殊视图路径中查找。我正在记录调试语句,可以看到 template_root 已正确设置,但似乎应用程序没有使用它。

有任何想法吗?

4

1 回答 1

0

请参阅http://www.quirkey.com/blog/2008/08/28/actionmailer-hacking-multiple-template-paths/和我的评论。我知道这是一个老问题,但我被困了好几天。希望这会对某人有所帮助。

于 2010-07-06T11:31:42.130 回答