9

Tengo una instancia de modelo que tiene un atributo de fecha y hora. Estoy viendo en mi punto de vista usando:Formateo de una fecha como palabras en Rails

<%= @instance.date.to_date %> 

pero se muestra como: 2011-09-09

quiero que se muestran como: 9ª de septiembre de, 2011

Cómo hacer yo ¿hacer esto?

Gracias!

Respuesta

13
<%= @instance.date.strftime("%B %d, %Y") %> 

Esto le daría "9 de septiembre de 2011".

Si realmente se necesita el ordinal en el día ("th", "r", etc.), se puede hacer:

<%= @instance.date.strftime("%B #{@instance.date.day.ordinalize}, %Y") %> 
+0

perfecto! ¡Gracias! – goddamnyouryan

+0

esta es la solución que estaba buscando. único problema, ¿cómo puedo agregar esto al archivo en.yml? Quiero poder usar i18n con la lambda –

10

Hay un método integrado fácil de lograr el estilo fecha Estás buscando.

<%= @instance.datetime.to_date.to_formatted_s :long_ordinal %> 

El método to_formatted_s acepta una variedad de opciones de atributos de formato de forma predeterminada. Para eaxmple, de los rieles API:

date.to_formatted_s(:db)   # => "2007-11-10" 
date.to_s(:db)      # => "2007-11-10" 

date.to_formatted_s(:short)   # => "10 Nov" 
date.to_formatted_s(:long)   # => "November 10, 2007" 
date.to_formatted_s(:long_ordinal) # => "November 10th, 2007" 
date.to_formatted_s(:rfc822)  # => "10 Nov 2007" 

se puede ver una explicación completa here.

1

rieles que hayan construido en ActiveSupport como inflector:

ActiveSupport::Inflector.ordinalize(@instance.date.day) 
7

La forma rieles de hacer esto sería utilizar

<%=l @instance.date %> 

la "L" es la abreviatura de "localizar" y conversos la fecha en un formato legible utilizando el formato que definió en su en.yml. Se pueden definir varios formatos en el archivo yml:

en: 
    date: 
    formats: 
     default: ! '%d.%m.%Y' 
     long: ! '%a, %e. %B %Y' 
     short: ! '%e. %b' 

Para utilizar otro formato diferente al predeterminado, en su opinión, el uso:

<%=l @instance.date, format: :short %> 
1

También tiene <% = tiempo time_tag%> en los carriles

Cuestiones relacionadas