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 advance
Attachments:
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/.