2010-03-25 34 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已被正確設置,但它似乎應用程序沒有使用它。

任何想法?

回答