Ruby on Rails Wednesday, August 21, 2013



On Wednesday, August 21, 2013 7:18:35 AM UTC-7, Hassan Schroeder wrote:
On Tue, Aug 20, 2013 at 1:06 PM, Philip Edelbrock <ph...@edgedesign.us> wrote:

> o Time.parse and Date.parse interprets slashed numerical dates·
>      as "dd/mm/yyyy".
>

Well, back to basics, my question is simple:

How do I tell Rails to use a custom date/time format without it blowing up?

I put this in an initializer:

Date::DATE_FORMATS.merge!(:default => '%m/%d/%Y')

See my previous comment; that format IS NOT VALID in Ruby 1.9.x and 
above. Your issue has nothing to do with Rails.
 
A simple way to manifest the problem is to do "Time.now.to_s.to_time" or "Date.today.to_s.to_date".  This works on Rails 2.3/Ruby 1.8.7, but does not on Rails 4.0/Ruby 2.0 with the above initializers.

It works fine with VALID formats. Change your initializer to '%d/%m/%Y'
and try `Date.today.to_s.to_date`  -- no problem.

It is hard to believe that they removed such basic functionality?  Tamara suggests this might be a Ruby bug(?).

No. It is documented behavior of Ruby.
 

Don't get me wrong, I appreciate your help!

It just seems that this was functionality that seemed to have been broken.  It's not a 'valid' vs. invalid argument (where I live, m/d/y is valid and d/m/y is not!)  I should be able to define 1/13/2 as being Feb 1st, 2013 if I want to be crazy about it.  String parsing isn't hard, it just seems to be eluding me as how to hint Rails 4/Ruby 2 on how to do it the way I want when it worked in the past.

As Tamara suggests, it appears the format string is being dropped by the time it makes it to the parsing function(?).  d/m/y is fine as a default, but saying to change my initializer to match the already default is like removing it all together and doesn't solve my localization problem.


Phil

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscribe@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/383af81a-8358-4f90-8d88-9d161e6cb7bd%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

No comments:

Post a Comment