2010-09-07 24 views
24

Me encuentro repitiendo el tipeo muchas veces que definí.dónde poner reglas de formato de tiempo en Rails 3?

Después de ver los rails de Ryan Bates ep 32/33 (creo), creé una opción personalizada para el método to_s como en Time.now.to_s, de modo que puedo hacer Time.now.to_s (: sw), donde: sw es mi método personalizado, para recuperar "23 Sep 2010, 5:00 PM", por ejemplo.

Pero el problema es que no sé dónde poner la definición de # sw. ¿Debería estar en un archivo en la carpeta del inicializador? ¿O debería ir en application.rb?

Gracias!

+0

BTW http://strftime.net/ ayuda mucho – Dorian

Respuesta

22

Tengo un archivo que contiene config/initialisers/time_formats.rb:

... 
Time::DATE_FORMATS[:posts] = "%B %d, %Y" 
Time::DATE_FORMATS[:published] = "%B %Y" 
... 

Sólo tiene que reiniciar el servidor para que los cambios se recogieron.

+0

Está bien, yo también lo pensaba. También porque de esa manera, tienes que organizar estos 'ayudantes' en archivos en lugar de líneas en la aplicación.rb ¡Gracias! –

5

Utilice Rails I18n API.

# config/locales/en.yml 
en: 
    date: 
    formats: 
     default: "%Y-%m-%d" 
     short: "%b %d" 
     long: "%B %d, %Y" 

# in views 
= l post.updated_at # will use default format of date in locales yml file 

ver sobre I18n API

45

Uso "tiempo" en lugar de "fecha" en sus locales fichero, ya que las marcas de tiempo son Rieles datetimes.

en config/lugares/en.yml

en: 
    time: 
    formats: 
     default: "%Y/%m/%d" 
     short: "%b %d" 
     long: "%B %d, %Y" 

en app/views/posts/show.html.haml

= l post.updated_at 
    = l post.created_at, :format => :long 
+5

Además, consulte http://strftimer.com/ para obtener ayuda sobre cómo crear formatos de hora. – tee

0

Por favor, lea este post:

Rails - to_formatted_s

Crear archivo con el nombre: config/inicializadores/time_formats.rb

Time::DATE_FORMATS[:my_custom_time_format] = "%Y-%m-%d %H:%M" 

Y puede utilizar:

formated_date = my_date.to_formatted_s(:my_custom_time_format) 

Nota: Debe reiniciar el servidor de carriles (WEBrick, FCGI, etc)

+0

Ah, estaba tirando de mi cabello tratando de descubrir por qué mis formatos no estaban cambiando. ¡Gracias por el consejo de reinicio del servidor! – AndrewJM

Cuestiones relacionadas