21 May
duccio

duccio il 21 May 2008 parla di Rails Snippet

Time::Conversions::DATE_FORMATS e Rails 2

Aggiornando un vecchio progetto al Rails 2 si è ripresentato il problema del DATE_FORMATS che consente di specificare i formati delle date.

Definendo ad esempio DATE_FORMATS[:short] = ‘%d/%m/%Y’ ottenete:

    1 #se fate
    2 "Wed May 21 09:52:12 +0200 2008".to_datetime.to_s(:short) 
    3 #ottenete
    4 "21/05/2008"

Con Rails 2 quando lanciate il server vi da un warning dicendovi che DATE_FORMATS non è definito e se provate a fare un rake db:migrate non va a buon fine. Per risolvere il problema basta ridefinire DATE_FORMATS nell’environment.rb dopo il Rails::Initializer.run

    1 ActiveSupport::CoreExtensions::Time::Conversions::DATE_FORMATS.merge!(
    2   :long => '%d %B, %Y %H:%M',
    3   :very_short_date => '%d.%m.%y',
    4   :very_short_date_underscored => '%d_%m_%y',
    5   :short => '%d/%m/%Y',
    6   :medium_date => '%d %b %y',
    7   :long_date => '%d %B %Y',
    8   :long_dataora => '%d %B %Y (%H:%M)',
    9   :regular_time => '%H:%M',
   10   :invoice_time => '%H_%M')

Scrivi un commento