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
on 2007-02-27 13:16
on 2007-02-27 13:56
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
Log in with Google account | Log in with Yahoo account
No account? Register here.