Princely Plugin: get nil.size error

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:inpdf’

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

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:inmake_and_send_pdf’
[RAILS_ROOT]/vendor/plugins/princely/lib/pdf_helper.rb:13:in render' [RAILS_ROOT]/app/controllers/driver_payments_controller.rb:13:inprint’

Anyone got any ideas?

Thanks.

Brijesh S. 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:inpdf’

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

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 S.

Ash F. 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:inmake_and_send_pdf’
[RAILS_ROOT]/vendor/plugins/princely/lib/pdf_helper.rb:13:in render' [RAILS_ROOT]/app/controllers/driver_payments_controller.rb:13:inprint’

Anyone got any ideas?

Thanks.

Brijesh S. 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:inpdf’

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

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.

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs