5

Tengo un modelo llamado User con un atributo llamado current_sign_in_at. En mi archivo en.yml tengo el nombre para mostrar como tal ...¿Cómo puedo visualizar una traducción de un nombre de columna de base de datos como encabezado de tabla en una vista, Rails 3

en-GB: 
    activerecord: 
    attributes: 
     user: 
     current_sign_in_at: "Last sign-in" 

... que me permite mostrar la etiqueta forma deseada ("Último inicio de sesión") usando = f.label :current_sign_in_at.

Pero, ¿cómo puedo usar esta misma traducción para un encabezado de tabla, es decir, no en un formulario?

%th= :current_sign_in_at 

Respuesta

4

Se puede utilizar el método estático "human_attribute_name", See the doc here on API dock

En su caso:

%th= User.human_attribute_name :current_sign_in_at 

(use User.human_name para mostrar el nombre del modelo traducida con I18n en en.activerecord.models.user)

Espero que esto ayude!

+0

que es perfecto! Justo lo que esperaba. Muchas gracias @MrYoshiji! – matharden

0

Otra opción para encabezados de tabla internacionalizados es el table_for gem.

Esto le permitirá escribir código erb como:

<%= table_for @user do |table| %> 
    <% table.column :current_sign_in_at %> 
<% end %> 
Cuestiones relacionadas