2010-03-14 23 views
20

me gustaría mis fechas en el formato mm/dd/año en los campos de texto. Sin embargo, actualmente se muestran como 2010-03-26.rieles formato de fecha en el campo de formulario

¿Hay un ajuste global que puedo configurar para cambiar esto?

Intenté lo siguiente, que parece actualizar el método .to_s, pero los campos de formulario siguen siendo los mismos.

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

Gracias

Respuesta

2

No sé si hay un ajuste global para que en cualquier lugar, sólo lo hacen en la ERB.

<%= text_field_tag("air_date_date", air_date.blank? ? "" : air_date.strftime("%m/%d/%Y"), :class => "date-input text") %> 

Alternativamente, puede factorizar esto en una función auxiliar para hacerlo SECO.

32

hay que registrarse en el formato default un inicializador.

añadir esta línea a la config/initializers/date_time_formats.rb.

Date::DATE_FORMATS[:default] = '%m/%d/%Y' 

# if you want to change the format of Time display then add the line below 
Time::DATE_FORMATS[:default]= '%m/%d/%Y %H:%M:%S' 

# if you want to change the DB date format. 
Time::DATE_FORMATS[:db]= '%m/%d/%Y %H:%M:%S' 

Ahora en el script\console vamos a probar el formato.

>> Date.today.to_s 
=> "03/14/2010" 

>> Time.now.to_s 
=> "03/14/2010 13:20:55" 
+0

Esto funciona para mí. También fue útil la información sobre cómo validar rápidamente los resultados en script \ console. Gracias. – tstyle

+0

Funciona bien con 'Fecha' y' Hora'. ¿Y los valores de la base de datos? –

+0

Use 'Time :: DATE_FORMATS [: db]' para configurar el formato de base de datos. –

0

Sé que esto es una tremendamente vieja pregunta, pero se puede usar en lugar de date_fieldtext_field. Quizás esa no era una opción cuando hiciste esta pregunta originalmente.

Muestra la fecha en mm/dd/yyyy, que es su intención.

<%= date_field :column_name %>

0

El date_select asistente de formulario proporciona un selector de fecha "esqueleto".

Cuestiones relacionadas