2010-03-25 63 views
0

是否可以在运行时为ActionMailer设置template_root?我似乎能够通过这样做在开发模式:在运行时设置ActionMailer template_root

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

我检查,看看是否mailer视图我在特别view_path目录存在,并使用view_path为的ActionMailer如果存在。否则,保持默认。这是在请求时发生的,而不是在environment.rb中的配置时发生。在开发模式下工作。

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

任何想法?

回答