Yesterday, a co-worker had some growing pains when updating a Rails 1.2.3 application to Rails 2.1. I gladly came to the rescue (he actually saved me from a boring job) and we analyzed together what was the error we were getting on the app.
The thing happened to be on the form_helper method
datetime_select
A chunk of code (just like the one above) was throwing an exception that said:
ArgumentError: wrong number of arguments (1 for 2)
The exception was getting threw inside a method called
date_or_time_selectthat was being invoked; inside the
datetime_selectmethod.
We checked out the plugins that could overwrite this method, and
attr_lockedwas doing it via
alias_method_chain. The problem was that, this overwrite didn't provide the correct number of parameters for the Rails 2.1 version (the Rails 2.1 version of
datetime_selectaccepts an extra hash parameter called html_options). We made some little changes to the current implementation and it worked as expected.
Hope you can get some benefits from this patch
Leave a comment