2012-03-07 7 views
6

tengo este código:distance_of_time_in_words y luego retirar la palabra "aproximadamente"

= distance_of_time_in_words(Time.now, real_time + 0.seconds, true) 

Wich genera también les gusta:

about 15 hours 
less than 

¿Hay una manera de quitar la palabra "aproximadamente" de la resultados? Ya se ha buscado mucho pero no se puede encontrar ninguna información, la función en sí misma es genial, arroja horas, minutos, segundos, etc. ¡tan genial, pero lo peor "sobre" tiene que irse! ¿Alguien sabe cómo? ¡Gracias!

+0

cuidado - la eliminación de las palabras "acerca de", "menor que", "sobre" y "casi" significa que sus marcas de tiempo se vuelven un poco menos cierto. ¿Se actualizó algo "hace 1 año" si tiene 729 días de antigüedad? Considere acortar "aproximadamente" a "~", "menos que" y "casi" a "<", y "sobre" a ">". – steveluscher

Respuesta

10

distance_of_time_in_words(Time.now, real_time + 0.seconds, true).gsub('about ','')

mirada here para más información

tratar un ayudante (poner este código en app/helpers/application_helper.rb)

def remove_unwanted_words string 
    bad_words = ["less than", "about"] 

    bad_words.each do |bad| 
    string.gsub!(bad + " ", '') 
    end 

    return string 
end 

en malas palabras se puede definir cadenas que se quiero haber eliminado de esa cadena. usuario así:

<%= remove_unwanted_words distance_of_time_in_words(Time.now, real_time + 0.seconds, true) %>

+0

thx no pensé en cortar la palabra solo, también tengo que eliminar el texto "menos que" podría dar un ejemplo sobre cómo eliminar varios textos? Thx Todavía estoy aprendiendo por – Rubytastic

+0

actualizó mi respuesta – klump

+0

great big thx! Lo configuré como respuesta aceptada – Rubytastic

15

Desde distance_of_time_in_words utiliza las claves de localización, sólo los puede sustituir a lograr lo que quiere de una manera segura i18n-:

config/lugares/en.yml :

en: 
    # Used in distance_of_time_in_words(), distance_of_time_in_words_to_now(), time_ago_in_words() 
    datetime: 
    distance_in_words: 
     half_a_minute: "half a minute" 
     less_than_x_seconds: 
     one: "1 second" # default was: "less than 1 second" 
     other: "%{count} seconds" # default was: "less than %{count} seconds" 
     x_seconds: 
     one: "1 second" 
     other: "%{count} seconds" 
     less_than_x_minutes: 
     one: "a minute" # default was: "less than a minute" 
     other: "%{count} minutes" # default was: "less than %{count} minutes" 
     x_minutes: 
     one: "1 minute" 
     other: "%{count} minutes" 
     about_x_hours: 
     one: "1 hour" # default was: "about 1 hour" 
     other: "%{count} hours" # default was: "about %{count} hours" 
     x_days: 
     one: "1 day" 
     other: "%{count} days" 
     about_x_months: 
     one: "1 month" # default was: "about 1 month" 
     other: "%{count} months" # default was: "about %{count} months" 
     x_months: 
     one: "1 month" 
     other: "%{count} months" 
     about_x_years: 
     one: "1 year" # default was: "about 1 year" 
     other: "%{count} years" # default was: "about %{count} years" 
     over_x_years: 
     one: "1 year" # default was: "over 1 year" 
     other: "%{count} years" # default was: "over %{count} years" 
     almost_x_years: 
     one: "1 year" # default was: "almost 1 year" 
     other: "%{count} years" # default was: "almost %{count} years" 
+1

Usted señor es una Leyenda – edward

+1

Gracias por mencionar esto. – leenasn

Cuestiones relacionadas