22.7.2009 - DICA1, Ruby on rails - por Luanildo Silva

Utilizando o form Select do Ruby on Rails

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

Tags: , , ,

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

    =]
blog comments powered by Disqus