I am upgrading from rails 2.3 to 3.2 and I am have trouble with Date conversion.
In rails 2.3 the date conversion default format was mm/dd/yyyy and when I assigned a string in this format to a active_record model it converts the date correctly. for e.g.
I Have a user object(active_record object) and
In rails 2.3
user.registered_on = "10/03/2013" #=> Oct 3, 2013
But same thing in rails 3.2
user.registered_on = "10/03/2013" #=> March 10, 2013
How to fix this?
I have tried setting Date::DATE_FORMATS[:default] = '%m/%d/%Y' in one of the initializers file, but this does not do any good.
I have even the locales set for date, but that does not work as well.
One perfect way to reproduce this problem is:
Create two apps, one in rails 2.3.x version and other in rails 3.2.x version.
Create one model in each of the application with at-least one datetime field.
Create and migrate the database for both the applications.
Go to rails console from your terminal in each of the application.
Create a active_record model object and assign this "10/3/2013" string to the datetime field and see the result both are different dates.
I just need a solution, how to fix this date or datetime conversion and make it same as rails 2.3
gem "american_date" solved this problem.