This should also be fixed in the next release of Rails 3.0.x
On 09/06/2011, at 3:21, Konstantin Shababov <[email protected]> wrote: > you can fix this using output_buffer = output_buffer.slice(pos..-1) instead > of using slice! > > -- > Konstantin Shababov > http://github.com/etehtsea > Sent with Sparrow > On Wednesday, June 8, 2011 at 7:10 PM, Christoph Schiessl wrote: > >> After upgrading from 3.0.7 to 3.0.8, I get the following error: >> >> activesupport (3.0.8) lib/active_support/core_ext/string/ >> output_safety.rb:114:in `slice!' >> actionpack (3.0.8) lib/action_view/helpers/cache_helper.rb:56:in >> `fragment_for' >> actionpack (3.0.8) lib/action_view/helpers/cache_helper.rb:38:in >> `cache' >> app/views/customers/index.html.erb:18:in >> `_app_views_customers_index_html_erb__218860319__625647498_0' >> ... >> >> As far as I can tell, the method `fragment_for` in `CacheHelper` is >> calling `slice!` on a `SafeBuffer` object. >> >> def fragment_for(name = {}, options = nil, &block) #:nodoc: >> if controller.fragment_exist?(name, options) >> controller.read_fragment(name, options) >> else >> # VIEW TODO: Make #capture usable outside of ERB >> # This dance is needed because Builder can't use capture >> pos = output_buffer.length >> yield >> fragment = output_buffer.slice!(pos..-1) ## >> PROBLEM >> controller.write_fragment(name, fragment, options) >> end >> end >> >> However, `slice!` is also one of the unsafe methods defined in >> `ActiveSupport::SafeBuffer`. Therefore an exception is thrown. >> >> Best regards, >> Christoph Schiessl >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Ruby on Rails: Core" group. >> To post to this group, send email to [email protected]. >> To unsubscribe from this group, send email to >> [email protected]. >> For more options, visit this group at >> http://groups.google.com/group/rubyonrails-core?hl=en. > > -- > You received this message because you are subscribed to the Google Groups > "Ruby on Rails: Core" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/rubyonrails-core?hl=en. -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/rubyonrails-core?hl=en.
