Dhtml_calendar Plugin and dates

Man I am frustrated. 4 hours working on this and i can’t find an
answer. Here it goes.

I had some simple date select fields on a form. Then I wanted to add
some additional datetime fields on a form with a nice widget so I
installed the dhtml_calendar plugin. Now my migrations and forms don’t
work on insert stating that the argument is out of range.

Here is line #62 in the plugin:
when Date then “’#{quoted_date(Time.local(value.year, value.month,
value.day, 0, 0, 0))}’”

I believe it’s got something to do with the date format (2007-12-23)
that i’m using but I can’t figure it out. HELP!

vendor/plugins/dhtml_calendar/lib/extensions/active_record.rb:62:in
local' vendor/plugins/dhtml_calendar/lib/extensions/active_record.rb:62:inquote’
c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/connection_adapters/mysql_adapter.rb:221:in
quote' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/base.rb:2576:inattributes_with_quotes’
c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/base.rb:2574:in
each' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/base.rb:2574:inattributes_with_quotes’
c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/base.rb:2496:in
create_without_callbacks' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/callbacks.rb:220:increate_without_timestamps’
c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/timestamp.rb:29:in
create' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/base.rb:2472:increate_or_update_without_callbacks’
c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/callbacks.rb:207:in
create_or_update' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/base.rb:2206:insave_without_validation!’
c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/validations.rb:911:in
save_without_dirty!' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/dirty.rb:83:insave_without_transactions!’
c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/transactions.rb:110:in
save!' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/connection_adapters/abstract/database_statements.rb:66:intransaction’
c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/transactions.rb:79:in
transaction' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/transactions.rb:98:intransaction’
c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/transactions.rb:110:in
save!' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/transactions.rb:118:inrollback_active_record_state!’
c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/transactions.rb:110:in
`save!’

Hello,

First of all, you should always post your environments settings with
your question.

I think you could try and parse the string you receive to a date
before inserting it into the database.

Something like parsed_date = Date.parse(params[:date_field]) should do
the tric

I hope it helps you.

Geoffroy