So currently I have an issue where I am populating a database from xml files through my client's API. Each record has an expiration date in it, with the following format:
<offer_ends_at>2010-10-20T07:59:59-04:00</offer_ends_at>
Now, I need to run a query where I only get records that have an expiration in the future. My current code is:
@deals = Deal.where(["city = :city AND status = 'live' AND DATETIME(date_expires) >= DATETIME(:time)", { :city => @city.id, :time => Time.now }])
And when I'm making the record, I use this:
@deal.date_expires = DateTime.parse((entry/"offer_ends_at").inner_html)
And that is how I get the datetime and format it.
Here's where I'm at:
- I can't seem to get the date to go straight into the database with no issues. If I use the code above and have the schema set to have a column type of :datetime or :time, it gives me the date of 2000-01-01 and no valid time. It literally does not set an actual date anything like what it was given.
- I converted the column type to :string and tried using that. Now I can input the date properly (its a string) but at the same time, I can't get the query above to work.
I just need to make sure that I only show records that have not expired. After two days of scouring the net and no working answers, I decided to ask here. Thanks in advance :)