Why is Rails looking for a template while I have told it to render a
specific file? This worked under Rails 2. I read http://www.engineyard.com/blog/2010/render-options-in-rails-3/ which
from I
gather makes any format.xxx look for a template xxx which is not what
I
need to do as the file is created dynamically:
In my controller:
pdf_file_path = "./directory/file_name.pdf" # just an example,
assume
this file exists
respond_to do |format|
format.pdf { render :file => pdf_file_path }
end
But I get:
ActionView::MissingTemplate (Missing template comparisons/display with
{:handlers=>[:erb, :rjs, :builder, :rhtml, :rxml], :formats=>[:pdf],
:locale=>[:en, :en]} in view paths
“/Users/DK/Documents/ror/projects/creditcompare3/app/views”):
Why is Rails looking for a template while I have told it to render a
specific file? This worked under Rails 2. I read http://www.engineyard.com/blog/2010/render-options-in-rails-3/ which from I
gather makes any format.xxx look for a template xxx which is not what I
need to do as the file is created dynamically:
I think you misunderstand that article.
Looks to me that instead of passing css filenames into the
“ActionController.add_renderer” block, you could just as easily pass
your actual dynamically generated PDF, and then have the “send_data”
call send your file.
But I agree, it’s certainly easier the just “render :file => foo_bar”
which I do in some of my controller actions, and I’ve not moved to
Rails3 yet, so I’ll be interested in your result.
I think that you’re looking for either send_file or send_data
depending on how you create the PDF. If there actually is a file,
then send_file will be what you want. If you still have the data in
memory, then send_data(stuff) is similar to render(:text => stuff)
On Fri, Oct 29, 2010 at 1:22 PM, Michael P. [email protected]
wrote:
Looks to me that instead of passing css filenames into the
“ActionController.add_renderer” block, you could just as easily pass
your actual dynamically generated PDF, and then have the “send_data”
call send your file.
Thanks Michael and Rob - you got me through this. The following works:
But I agree, it’s certainly easier the just “render :file => foo_bar”
Right. I know there must be a good reason for a lot of these changes and
at
some point it will all come together the ponies and rainbows will
appear. I
am waiting semi-patiently for this moment
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.