rails ruby-on-rails helpers

ruby-on-rails - rails jobs



¿Dónde poner reglas de formato de tiempo en Rails 3? (4)

Me estoy encontrando repitiendo tecleando muchos strftime que definí.

Habiendo visto las pasadas 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 de inicializador? ¿O debería ir en application.rb?

¡Gracias!


Por favor lea este post:

Rieles - a_formatted_s

Cree el archivo con el nombre: config / initializers / time_formats.rb

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

Y puedes usar:

formated_date = my_date.to_formatted_s(:my_custom_time_format)

Nota: debe reiniciar su servidor de rieles (WEBRick, FCGI, etc.)


Use "hora" en lugar de "fecha" en su archivo de locales, ya que las marcas de tiempo de Rails son fechas de fecha.

en config / locales / en.yml

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

en la aplicación / views / posts / show.html.haml

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


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 la API I18n


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

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

Solo necesita reiniciar su servidor para que los cambios sean recogidos.