11155
(-- --)
1
http://pastie.org/863834
The "a.body" appears to want a string, which is why I tried
render_to_string as shown in the code linked above.
This doesn't work, I get "undefined method for render_to_string".
I basically need to attach a PDF that is generated in another
controller, passing 'data' as parameters for which the PDF generating
engine will use.
I am able to otherwise send e-mails with ActionMailer, and generate this
PDF. I just can't attach the PDF to the e-mail.
The API says it wants:
a.body = generate_your_pdf_here()
How to do I replace the "generate_your_pdf_here()" with what is produced
by the action 'print_pdf' in the 'report' controller?
Any clues?
Thanks in advance!
11155
(-- --)
2
Hey, here's an example,
def mailer_method(mymodel)
content_type "multipart/alternative"
part :content_type => "text/html", :body => mymodel.text
attachment "application/pdf" do |a|
a.filename = mymodel.pdf_filename
a.body = mymodel.pdf_render.render
end
Take a look on the "content_type" header, you have to set the mail as a
Multipart email, not just html.
Regards,
Fernando
11155
(-- --)
3
This definitely helps, thank you, but I still am unsure how to pass the
parameters to the mymodel.pdf_render action?
The only way I know of to pass parameters is as if it were a URL, such
as with:
/mymodel/pdf_render?data=BLAH
or something like:
:controller => 'mymodel', :action => 'pdf_render', :data => "BLAH"
How could I achieve this using the syntax you gave me?
a.body = mymodel.pdf_render.render
Sorry for my newbieness, THANKS!
11155
(-- --)
4
I think I got it, thanks for your help!!!