Hi All, I want to generate pdf with css. I am using princely plugin. This is code which I written def pdf prince = Prince.new() html_string = render_to_string(:template => ''/users/paid_invoice.pdf.erb'') send_data( prince.pdf_from_string(html_string), :filename => ''some_document.pdf'', :type => ''application/pdf'' ) end But I am getting error of nil.size You have a nil object when you didn''t expect it! You might have expected an instance of Array. The error occurred while evaluating nil.size RAILS_ROOT: /var/www/sortapp Application Trace | Framework Trace | Full Trace /usr/lib/ruby/gems/1.8/gems/actionpack-2.1.2/lib/action_controller/streaming.rb:123:in `send_data'' app/controllers/users_controller.rb:135:in `pdf'' I also used make_and_send_pdf function but got the same error. I thought I am getting error in render_to_string function. Can anyone tell me how can I solve this issues? Thanks in advance -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ 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 rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Did you ever figure out this problem? I have a working application and my code works on my laptop, but when I try it on our production server I come up with this error, but for the life of me I can''t figure out why it is being thrown on one machine and not the other. NoMethodError: undefined method `size'' for nil:NilClass [GEM_ROOT]/gems/actionpack-2.1.0/lib/action_controller/streaming.rb:123:in `send_data'' [RAILS_ROOT]/vendor/plugins/princely/lib/pdf_helper.rb:45:in `make_and_send_pdf'' [RAILS_ROOT]/vendor/plugins/princely/lib/pdf_helper.rb:13:in `render'' [RAILS_ROOT]/app/controllers/driver_payments_controller.rb:13:in `print'' Anyone got any ideas? Thanks. Brijesh Shah wrote:> Hi All, > > I want to generate pdf with css. I am using princely plugin. > > This is code which I written > > def pdf > prince = Prince.new() > html_string = render_to_string(:template => > ''/users/paid_invoice.pdf.erb'') > send_data( > prince.pdf_from_string(html_string), > :filename => ''some_document.pdf'', > :type => ''application/pdf'' > ) > end > > But I am getting error of nil.size > > > You have a nil object when you didn''t expect it! > You might have expected an instance of Array. > The error occurred while evaluating nil.size > > RAILS_ROOT: /var/www/sortapp > Application Trace | Framework Trace | Full Trace > > /usr/lib/ruby/gems/1.8/gems/actionpack-2.1.2/lib/action_controller/streaming.rb:123:in > `send_data'' > app/controllers/users_controller.rb:135:in `pdf'' > > I also used make_and_send_pdf function but got the same error. > I thought I am getting error in render_to_string function. > > Can anyone tell me how can I solve this issues? > > Thanks in advance-- Posted via http://www.ruby-forum.com/.
Hi Unfortunately I don''t remember it. I just remember that I applied a patch in one of the file of gem. Apply below patch in var/lib/gems/1.8/gems/htmldoc-0.2.0/lib/htmldoc.rb file. @result[:output] = result result.split("\n").each do |line| + line.strip! (patch) case line when /^BYTES: (\d+)/ @result[:bytes] = $1.to_i Patch file is attached. Let me know if this is worked or not. Thanks Brijesh Shah Ash Forsyth wrote:> Did you ever figure out this problem? > > I have a working application and my code works on my laptop, but when I > try it on our production server I come up with this error, but for the > life of me I can''t figure out why it is being thrown on one machine and > not the other. > > NoMethodError: undefined method `size'' for nil:NilClass > > [GEM_ROOT]/gems/actionpack-2.1.0/lib/action_controller/streaming.rb:123:in > `send_data'' > [RAILS_ROOT]/vendor/plugins/princely/lib/pdf_helper.rb:45:in > `make_and_send_pdf'' > [RAILS_ROOT]/vendor/plugins/princely/lib/pdf_helper.rb:13:in `render'' > [RAILS_ROOT]/app/controllers/driver_payments_controller.rb:13:in `print'' > > Anyone got any ideas? > > Thanks. > > > > Brijesh Shah wrote: >> Hi All, >> >> I want to generate pdf with css. I am using princely plugin. >> >> This is code which I written >> >> def pdf >> prince = Prince.new() >> html_string = render_to_string(:template => >> ''/users/paid_invoice.pdf.erb'') >> send_data( >> prince.pdf_from_string(html_string), >> :filename => ''some_document.pdf'', >> :type => ''application/pdf'' >> ) >> end >> >> But I am getting error of nil.size >> >> >> You have a nil object when you didn''t expect it! >> You might have expected an instance of Array. >> The error occurred while evaluating nil.size >> >> RAILS_ROOT: /var/www/sortapp >> Application Trace | Framework Trace | Full Trace >> >> /usr/lib/ruby/gems/1.8/gems/actionpack-2.1.2/lib/action_controller/streaming.rb:123:in >> `send_data'' >> app/controllers/users_controller.rb:135:in `pdf'' >> >> I also used make_and_send_pdf function but got the same error. >> I thought I am getting error in render_to_string function. >> >> Can anyone tell me how can I solve this issues? >> >> Thanks in advanceAttachments: http://www.ruby-forum.com/attachment/3935/htmldoc_gem_patch.txt -- Posted via http://www.ruby-forum.com/.
This unfortunatly wasn''t the problem, but I did manage to figure out I only got it when running through mod_rails. We just deployed the app to another server that was rebuilt from scratch and it is working now, so no idea what the actual cause was. Thanks for the help. -- Posted via http://www.ruby-forum.com/.