Bom estou aqui novamente falando do #haml. Exatamente agora acabei de converter um projeto todo para #haml encontrei alguns obstáculos na utilização do haml. Ainda não fiz o teste de performance, mas assim que terminar esse artigo farei alguns testes para possívelmente aplicar o #haml em um projeto que estamos trabalhando. Assim que tiver resultado post aqui para vocês. Bom voltando aos obstáculos. Na verdade não sei se posso chamar de obstáculos, mas sim de qualidade de código. Uma das coisas que mais me chamou atenção no #haml foi a questão de economia de linhas como falei no artigo anterior. Porém em alguns pontos gastei mais linhas do que economizei.

Para gerar um menu assim:

ver álbum | adicionar mais fotos | editar álbum | excluir álbum

<%= link_to ‘ver álbum’, ‘url’ %> |
<%= link_to ‘adicionar mais fotos’, ‘url’ %> |
<%= link_to ‘editar álbum’, ‘url’ %> |
<%= link_to ‘excluir álbum’, ‘url’ %>

Agora em #haml:

a%{:href => url} ver álbum
|
a%{:href => url} adicionar mais fotos
|
a%{:href => url} editar álbum

Quase dobramos o número de linhas, de 4 para 7 linhas. Esse é um exemplo que você irá ter mais linhas do que se não usasse o #haml, com certeza irá bater com outros detalhes. Porém até agora ainda não considero o #haml ruim, olhando a documentação encontrei muitas coisas que não tinha reparado antes. Mas por hoje é só.

Vou aproveitar para dar um dica.
Quanto você for fazer um form em sua aplicação e utilizar a função “form_for” e derivados não coloque “=” e sim “-” pois senão seu “form” será duplicado.