Forum: Rails Engines development ActionMailer (No rhtml, rxml, rjs or delegate template found

Posted by Ian Duggan (Guest)
on 2007-02-27 13:16
(Received via mailing list)
Just spent a chunk of time hunting this down. I don't see any open
issues against this (I only see one open issue?).

Anyhow, it seems that engines munge the base_path of ActionView::Base in
such a way that the ActionMailer cannot find it's templates. It's doing
a FileTest.exist?(path) on a path of '{a,b,c}/template.rhml' and is
failing. I had to toss the following in the mix to get things working:


# Fix for engines and ActionMailer
module ActionView
  class Base
    private
      def template_exists?(template_path, extension)
        file_path = full_template_path(template_path, extension)
        @@method_names.has_key?(file_path) || 
!Dir.glob(file_path).empty?
      end

      def read_template_file(template_path, extension)
        File.read(Dir.glob(template_path).first)
      end
  end
end


Not sure if I'm doing something else wrong to cause these to be needed.
Looking through the engines code, this stuff doesn't seem to be covered.
  Incidentally, I tried adding these to the
rails_extensions/templates.rb file, but they don't seem to get pulled in
properly.

--Ian
Posted by James Adam (Guest)
on 2007-02-27 13:56
(Received via mailing list)
Hi Ian,

Thanks for the report. This stuff should certainly be covered, if it's 
broken.

Can you create a ticket detailing which version of Rails you're
running against and as much detail about replicating the bug as
possible? You can find login information here:
http://rails-engines.org/faq/issue-tracker-login-i...

Cheers,

James
Please log in before posting. Registration is free and takes only a minute.
Existing account (Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
No account? Register here.