ActionMailer does not find templates in production mode

Hello everyone,

I am currently struggling with the following issue that only seems to appear
in my production environment:

When attempting to send a mail from an ActionMailer the template location
algorithm does not seem to pick up the corresponding template:

ActionView::MissingTemplate (Missing template
event_mailer/approval_requested_notification.erb in view path app/views):
  app/models/event_observer.rb:3:in `after_enter_awaiting_approval'
  /usr/lib/ruby/1.8/observer.rb:185:in `notify_observers'
  /usr/lib/ruby/1.8/observer.rb:184:in `each'
  /usr/lib/ruby/1.8/observer.rb:184:in `notify_observers'
  (eval):10:in `create_or_update_without_callbacks'
  app/controllers/event_controller.rb:71:in `request_approval'

However, I do have a corresponding template named
"approval_requested_notification.text.plain.erb" in "app/views/event_mailer",
which is correctly picked up in development mode. In production mode, however,
the content type infix is omitted while searching for the template.

This happens with Rails 2.3.4. Any suggestions how to sort this out are much


turns out that the issue is related to the fact that mod_fcgi (used in
production) sets a different working directory than WEBRick (used in
development). The following code in environment.rb can be used as a

# work around a mod_fcgi / ActionMailer bug
Dir.chdir(File.dirname(__FILE__) << '/../')