Utilizando o form Select do Ruby on Rails

22.7.2009 - DICA1,Ruby on rails - por

Pesquisei em vários sites, tentando descobrir como criar um Select Box em Ruby on Rails, com as opções já predefinidas. Encontrei materiais, mas nenhum atendia a minha necessidade.

Pesquisa

A maioria mostrava como preencher as opções do Select, buscando as informações do Banco de dados e alguns chegavam perto do que eu queria, mas não funcionava ou eu não consegui fazer funcionar.

Quando já estava desistindo de procurar, encontrei o trecho de código que eu tanto procurava, fiz algumas adaptações e funcionou bonitinho.

Esta dica é para ajudar a vocês que estão tendo a mesma dificuldade que eu tive.

Neste exemplo estou preenchendo o Select Box com as siglas dos estados brasileiros. Sendo que eu quero que a sigla seja mostrada no Select da mesma forma que vai ser inserida no banco.

O Código em Ruby on rails fica assim:

1
2
3
4
5
6
<%= f.select :estado, ([["AC", "AC"], ["AL", "AL"], ["AP", "AP"],
["AM", "AM"], ["BA", "BA"], ["CE", "CE"], ["DF", "DF"], ["ES", "ES"],
["GO", "GO"], ["MA", "MA"], ["MT", "MT"], ["MS", "MS"], ["MG", "MG"],
["PA", "PA"], ["PB", "PB"], ["PR", "PR"], ["PE", "PE"], ["PI", "PI"],
["RJ", "RJ"], ["RN", "RN"], ["RS", "RS"], ["RO", "RO"], ["RR", "RR"],
["SC", "SC"], ["SP", "SP"], ["SE", "SE"], ["TO", "TO"]]) %>

Quando é visualizado em HTML fica desta forma:

1
2
3
4
5
6
7
8
<select name="estado">
<option value="AL">AL</option>
<option value="AP">AP</option>
<option value="AM">AM</option>
<option value="BA">BA</option>
<option value="CE">CE</option>
...
</select>

Este exemplo é Rails Básico, faz parte dos meus estudos.
Espero que seja útil!

Related Posts with Thumbnails
Luanildo Silva

    Twitter
Front-end da Perfil Virtual. Experiência em desenvolvimento de sites em XHTML,CSS,jQuery e PHP. Desenvolvimento de sites e blogs utilizando a plataforma Wordpress. Graduando em Administração pela UNEF.

Tags: , , ,

  • Elias Gomes

    Muito bom sua dica.
    Só um detalhe. Em vez:
    <%= f.select :estado, ([["AC", "AC"]…
    use:
    <%= f.select (:estado, [["AC", "AC"]…
    Caso contrário não funciona adequadamente.

  • Elias Gomes

    Ah. Outro detalhe. Faltou ["TO", "TO"]. Não poderia deixar passar, é onde moro. kkk

  • http://www.dica1.com.br Luanildo Silva

    Aqui funcionou perfeitamente desta forma:
    <%= f.select :estado, ([["AC", "AC"]…
    Aliás, dos dois jeitos funcionaram.

    Valeu, vou acrecentar o ["TO", "TO"]. rsrsrsrrs

  • Wilker

    Outro detalhe, no lugar de:

    [["AC", "AC"], ["AL", "AL"]]

    voce pode usar

    ["AC", "AL"]

    é mais DRY e funciona da mesma forma ;)

  • Leandrorochasouza

    Olá.

    Meu nome é leandro testei o seu codigo e o mesmo funcionar perfeitamente!
    Só que eu preciso que o selectBox pegue as informações do banco de dados.
    Porém estou com dificuldades.

    Poderia mostrar um código que pegue as informações do banco de dados?

    Abs.

    =]