Views mais limpas ao usar I18n

Criado em: 10/08/2012

Melhorando as views com o I18n

Quando estamos trabalhando com I18n no rails as vezes podemos nos deparar com algo como o código a seguir em nossas views:

t 'posts.index.title'

veja que temos que passar por várias sessões do yml para chegarmos ao título que queremos exibir.

Agora imagine que tenhamos em nossa pasta de views a seguinte estrutura:

posts
  - index.html.haml

e em nosso yml

pt-BR:
  posts:
    index:
      title: Meu título

podemos usar em nossa view (views/posts/index.html.haml) apenas:

t '.title'

isso funciona desde que mantenhamos a convenção no yml, de manter as sessões do yml a mesma da estrutura de pastas das views.

Removendo o .html_safe das views

Caso algum dos seus arquivos de tradução possua alguma tag html, você já deve ter encontrado algo assim nas views:

t('.title').html_safe

este último para dar escape das tags html.

No entanto isto poderia ser feito no yml como a seguir.

pt-BR:
  posts:
    index:
      title_html: Meu <strong>título</strong>

definindo o sufixo _html no yml você não precisa mais usar o html_safe podendo fazer apenas.

t '.title'
RSpec: Crie especificações executáveis em Ruby
Aprimore as suas habilidades enquanto escreve testes com o meu livro RSpec: Crie especificações executáveis em Ruby

Comentários

Comentários powered by Disqus