Hello,
Is anyone out there rendering partials successfully in ActionMailer
templates?
I am having trouble with this, and wasn't sure if it was my
configuration or something with a version of Rails I'm running.
We've got over 15 mailer templates, all working like a charm.
But we have a piece of shared code, that we'd really like to not have to
copy & paste into 5 other different templates.
In case it has to do with my setup, here's a bit about it:
In models/
class Mailer < ActionMailer::Base
...
end
In views/mailer/ - I have:
_test.rhtml - the partial I'm trying to render
send.rhtml - the template calling the partial
In send.rhtml, I've tried various incarnations of:
<%= render :partial => "test" %>
<%= render_partial("mailer/test") %>
<%= render_partial("test") %>
<%= render_file("mailer/_test.rhtml", false) %>
(one at a time, of course) ... all to no avail.
The Error:
undefined method `controller_path' for Mailer:Class
My Config:
Ruby 1.8.4
Edge Rails: Rev 3476
OS X Tiger latest / all updates applied.
Any insight would be mucho appreciated!!
- Shanti
http://sablog.com/ - dispatches from the garage
http://sproutit.com/ - webapps for small businesses
ps. I have a ticket opened here, but I hope I can close it soon (due to
*user* error not a limit in Rails!):
http://dev.rubyonrails.org/ticket/4326
on 22.03.2006 18:33
on 23.03.2006 18:46
Shanti Braford wrote: > Hello, > > Is anyone out there rendering partials successfully in ActionMailer > templates? > Hi, I haven't tried with partials since helpers worked fine for me, maybe you could take this route as well. -- Agnieszka
on 24.03.2006 13:30
I've got this piece of code in an AM template: <%= render :partial => '../shared/listing' %> I think the default path is the current path of the AM template, so ../ puts it down into app/views/. That line will render app/views/shared/_listing.rhtml. -Jonathan
on 24.03.2006 16:26
Jonathan Viney wrote: > I've got this piece of code in an AM template: > > <%= render :partial => '../shared/listing' %> > > I think the default path is the current path of the AM template, so > ../ puts it down into app/views/. That line will render > app/views/shared/_listing.rhtml. > Jonathan - you're a lifesaver. You just saved me from 6 copy&paste jobs anytime the template changed =) Posted the workaround to this ticket for future googlers: http://dev.rubyonrails.org/ticket/2926 - Shanti