Dica rápida usando o ApplicationHelper.

Essa é bem simples, coisa básica, mas que uso sempre.

Praticamente todas aplicações tem tabelas em que uma das colunas é usada para setar o status/situação do registro, eu costumo gerar esses campos através de migrates assim: status:boolean, na hora de exibir esse registro ao usuário precisamos tratá-lo, pois mostrar true ou false convenhamos que não é legal.

Seguindo o principio de DRY do rails a solução é bem simples.

No application_helper.rb coloco a seguinte função:

Na view basta usar assim:

A explicação é bem simples, a função ativo_inativo recebe um parâmetro true ou false e através de um operador ternário devolve Ativo ou Inativo, lembre-se a função agora está disponivel para toda a aplicação, sem repetições.

Abraço!



2 comentários

Gabriel

É uma excelente dica.

Não seria bom se pudéssemos especificar direto no modelo que string retornar para cada true/false de cada um desses “boolean flags” que normalmente usamos? Adicionaríamos um método “to_s”… então usaríamos algo como

Digo no modelo por que esses valores variam de atributo para atributo, como “ativo/inativo”, “completo/incompleto”, “revisado/não revisado”… e por aí vai.

Ainda com o i18n poderíamos tornar essas “stringificações” multilinguais… fala sério!?!

Abraço!

Gabriel

Parece que o campo de comentário não aceita código Ruby… cortou minha mensagem bem no “… então usaríamos algo como “cadastro(ponto)status(ponto)to_s”.

Deixe um comentário



Direto e Fácil.