Hello, my question is rails related though it is also somewhat
specific to the prawnto plugin (installed latest version as of
2010-03-15). I would ask on a prawnto forum/list if I knew where one
was.

Anyhow, I'm using rails 2.3.5 (with ruby 1.8.6 patchlevel 111) in an
app that is successfully using the prawnto gem (with the prawn gem
version 0.7.1). I've got a a WorksheetsController with the standard
scaffold actions (and associated routes). I was able to drop in a
"show.pdf.prawn" file into the associated view directory, write some
prawn code in it, and add a "format.pdf { render :layout => false }"
line inside the #show method's "respond_to" block. After doing this I
could "view" my worksheets as PDF documents by adding a ".pdf"
extension/type-definition to the end of the url:

http://localhost/worksheets/1.pdf

This is great. However, now I need to add a feature where someone can
request that I email them a PDF copy of a worksheet. In the interest
of being DRY, I want to re-use all the prawn pdf generation code in my
"show.pdf.prawn" view file. After poking around, I figured
#render_to_string might do the job.

The "email request" is implemented as the #email method/action in my
controller. After grabbing the @worksheet object, I attempt to render
the PDF as follows:

worksheet = render_to_string :action => "show", :layout =>
false, :type => :prawn

The #email action is always called via AJAX. Also, I have some AJAX
stuff implemented for the #show action as show.rjs. The
#render_to_string always renders the show action's RJS template,
ignoring the :type => :prawn setting.

So, clearly I have a misunderstanding #render_to_string. I'm also
wondering if there is a better way to accomplish what I need to do.

Any ideas?

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to