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!

Post a Comment or Leave a Trackback
seperator

2 Comments

  1. Gabriel
    November 18, 2008 at 10:26 pm | Permalink

    É 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!

  2. Gabriel
    November 19, 2008 at 6:24 am | Permalink

    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”.

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*