http://rails.lighthouseapp.com/projects/8994-ruby-on-rails/tickets/1142-simplified-parameter-parsing-codehttp://rails.lighthouseapp.com/projects/8994-ruby-on-rails/tickets/1142-simplified-parameter-parsing-code
Based on the prototype plugin, form_collections.git: http://www.vector-seven.com/git/rails/plugins/form_collections.git/ Copying the description from the ticket: ------------------ * This patch was written with the intent of simplifying the implementation of UrlEncodedPairParser, as well as making its behaviour somewhat more predictable/logical. * Changes to semantics are minimal: only breaks seven actionpack unit tests which are either testing broken inputs or strange behaviour in the old parser. * Of those seven unit tests, five can be made to pass with some minimal changes to the parser. * New semantics would make nested forms and/or manipulation of collections in forms much easier to deal with. ------------------------------------------------------------------------ The semantic changes are as follows: INPUT: "a[][x]=5&a[][y]=10" OLD PARSER OUTPUT: {"a" => [{"x" => "5", "y" => "10"}]} NEW PARSER OUTPUT: {"a" => [{"x" => "5"}, {"y" => "10"}]} INPUT: "a[0][x]=5&a[0][y]=10" OLD PARSER OUTPUT: {"a" => {"0" => {"x" => "5", "y" => "10"}}} NEW PARSER OUTPUT: {"a" => [{"x" => "5"}, {"y" => "10"}]} INPUT: "a[0][x]=5&a[1][y]=10" OLD PARSER OUTPUT: {"a" => {"0" => {"x" => "5"}, "1" => {"y" => "10"}}} NEW PARSER OUTPUT: {"a" => [{"x" => "5"}, {"y" => "10"}]} ------------------------------------------------------------------------ Issues to be resolved: 1. Should the parser be modified to pass the old tests for invalid inputs? 2. "a[0]=1&a[999]=2" currently yields a 1000 element array with 998 nil values. Should we implement a SparseArray class that minimizes memory usage for such a situation, or force sequential indexes? ----------------- Would appreciate any feedback and/or recommendations. Cheers, Tom --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
