Hi Mislav,

By adding a little hack here and there, I can get very close to the 
original semantics such that only one or two tests would fail. In the 
patch, I opted to change the tests rather than the parser code to get 
them passing since most of the failing tests are checking the behaviour 
of the parser on invalid inputs (where I'd argue the garbage in, garbage 
out adage applies). Also, I wanted to avoid introducing hacks to the new 
parser before it was deemed necessary.

I agree though, backwards compatibility is important. I'm perfectly 
willing to concede that changes will need to be made to assure some 
level of backwards compatibility, although I'd still argue that testing 
the output of the parser for any set of invalid inputs is a waste of 
time since the options are:

1. Bad output.
2. No output.
3. An error.

I don't think a single parser could support both schemes due to the old 
parser's treatment of "foo[0]=5" as {"foo" => {"0" => "5"}}, and the new 
parser's treatment of the same thing as {"foo" => ["5"]}. Having said 
that, maybe it could be a Rails::Configuration setting if need be?

Cheers,
T

Mislav Marohnić wrote:
> When these issues (with the original parser) were first raised because 
> of prototype.js parser being different, and yet yielded the wanted 
> results, I first opposed them. Lately I've seen how they could tighten 
> up and improve complex forms.
>
> Having said that, I'm worried about backwards-compatibility. I don't 
> think a single parser can support both schemes -- or am I wrong?
>

> Still, should there be a switch one can toggle to start using the new 
> parser after Rails 2.2?
>
> >


--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to