Our app is getting a "string sizes too big" error in an .erb file that is trying to render a large block of checkboxes that represent color attributes that belong_to the product being edited in this view. The code worked fine when we had a small number of colors -- now that the number of colors is 750+, we get an error on the fields_for line (see below). Since this sounds somewhat like some older memory leak issues, I confirmed that our host, Engine Yard, does not have an old Ruby version (they are on 1.8.6 patch level 287). The same error occurs on Mac OS/X with Ruby 1.8.6 patch 369. I''ve had no luck searching for that error with "fields_for" or finding any docs on size limitations inherent to fields_for. Processing Admin::ProductsController#edit (for 173.45.210.193 at 2010-04-29 05:21:30) [GET] Parameters: {"id"=>"17"} Rendering template within admin/layouts/base Rendering admin/products/edit ActionView::TemplateError (string sizes too big) on line #67 of app/ views/admin/products/edit.html.erb: 64: 65: <div id="colorCheckboxes"> <!-- event handler searches within this div to find checkboxes --> 66: <% previousObject = nil -%> 67: <% f.fields_for :prod_method_colors do |pmc| -%> 68: <% pmcObj = pmc.object %> 69: <%= "<br/><br/> Colors for #{PRINT_METHOD_TEXT[pmcObj.print_method]} <br/>" if previousObject =nil || (pmcObj.print_method != previousObject.print_method) %> 70: <% previousObject = pmcObj -%> -- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
Frederick Cheung
2010-May-01 13:42 UTC
Re: fields_for: how many objects can it handle - max string size?
On Apr 30, 7:16 pm, Kurt <k...-weLt7myBVx3QT0dZR+AlfA@public.gmane.org> wrote:> Our app is getting a "string sizes too big" error in an .erb file that > is trying to render a large block of checkboxes that represent color > attributes that belong_to the product being edited in this view. The > code worked fine when we had a small number of colors -- now that the > number of colors is 750+, we get an error on the fields_for line (see > below). >There''s only one place in the ruby C code I could find that raises ''string sizes too big''. It''s raised in a string concatenation function if the length of the existing string plus the length of what you''re concatenating exceeds LONG_MAX, ie 2^31-1 on a 32bit system. I''m not sure why fields for would be attempting to concatenate two strings with a combined length of 2GB. Fred -- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.