valor default do form select

197 views
Skip to first unread message

Edson Lima

unread,
Apr 30, 2012, 1:53:23 PM4/30/12
to Rail Groups

Como faço para trazer deixar o valor default de um form select - Esse valor deve vir do banco.

Tentei dessa forma mas recebe um erro que coloquei mais embaixo:


<h1>Novo Usuário</h1>

<% form_for(@usuario) do |f| %>
  <%= f.error_messages %>

  <p>
    <%= f.label :nome %><br />
    <%= f.text_field :nome %>
  </p>
  <p>
    <%= f.label :tipo %><br /> 
    <%= f.select(:tipo, "<option value='1'>Administrador</option><option value='2' selected >Gerente</option><option value='3'>Consultor</option>") %>
  </p>
  <p id="select_loja">
    <%= f.label :Loja %><br /> 
    <%= f.select(:tipo, Loja.all.collect{|l| [l.descricao, l.id]}, :selected => (f.loja) ? f.loja : "") %>
  </p>
  <p>
    <%= f.label :login %><br />
    <%= f.text_field :login %>
  </p>
  <p>
    <%= f.label :senha %><br />
    <%= f.password_field :senha %>
  </p>
  <p>
    Confirme a Senha<br />
    <input type="password" size="30" id="confirmaSenha" name="confirmaSenha"/>
  </p>
  <p>
    <input type="button" value="Criar" onclick="valida_form()"/>
  </p>
<% end %>

<%= link_to 'Voltar', usuarios_path %>
<script>
    var valida_form = function(){
       
        $("#new_usuario").submit();
    }
   
</script>


NoMethodError in Usuarios#new

Showing app/views/usuarios/new.html.erb where line #16 raised:
undefined method `loja' for #<ActionView::Helpers::FormBuilder:0xb6bb114>


LorisGaio

unread,
Apr 30, 2012, 2:13:32 PM4/30/12
to rails-br
Cara nos meus select eu deixo ":prompt => '--'".

EX: <%= f.select(:tipo, Loja.all.collect{|l| [l.descricao,
l.id]}, :selected => (f.loja) ? f.loja : "", :prompt => '--') %>

Edson Lima

unread,
Apr 30, 2012, 2:15:09 PM4/30/12
to Rail Groups


Estou falando da edição do registro. Ele ficar com o valor que está no banco.


> Date: Mon, 30 Apr 2012 11:13:32 -0700
> Subject: [rails-br] Re: valor default do form select
> From: loris...@hotmail.com
> To: rail...@googlegroups.com
> --
> Você recebeu essa mensagem porquê está inscrito no Google
> Groups "rails-br".
> Para enviar uma mensagem para o grupo, mande um email para rail...@googlegroups.com
> Para se descadastrar, mande um e-mail para
> rails-br+u...@googlegroups.com
> Visite o grupo em http://groups.google.com/group/rails-br?hl=pt-BR
> Leia nossa política de uso: http://goo.gl/YGgt7

Marlesson Santana

unread,
Apr 30, 2012, 2:15:58 PM4/30/12
to rail...@googlegroups.com
Você coloca o identificador que utilizou nas options.. tem que estar igual ao value das options.
...

  <p id="select_loja">
    <%= f.label :Loja %><br /> 
    <%= f.select(:tipo, Loja.all.collect{|l| [l.descricao, l.id]}, :selected => f.object.loja_id) %>
  </p>
...

Marlesson R. O. de Santana
Graduado em Ciência da Computação - UESC
Programador Web (PHP, RoR, JAVA, MySQL, SQLServer)


2012/4/30 Edson Lima <marc...@hotmail.com>

Edson Lima

unread,
Apr 30, 2012, 3:17:12 PM4/30/12
to Rail Groups


Coloquei dessa forma, mas não trás o valor que está no banco.


From: marle...@gmail.com
Date: Mon, 30 Apr 2012 15:15:58 -0300
Subject: Re: [rails-br] valor default do form select
To: rail...@googlegroups.com

Marlesson Santana

unread,
Apr 30, 2012, 3:20:38 PM4/30/12
to rail...@googlegroups.com
coloca ":selected => f.object.loja_id.to_i) ".. Pode ser a classe.

LorisGaio

unread,
Apr 30, 2012, 3:52:58 PM4/30/12
to rails-br
Cara nos meus select eu deixo ":prompt => '--'".

EX: <%= f.select(:tipo, Loja.all.collect{|l| [l.descricao,
l.id]}, :selected => (f.loja) ? f.loja : "", :prompt => '--') %>

On 30 abr, 14:53, Edson Lima <marcs...@hotmail.com> wrote:
Reply all
Reply to author
Forward
0 new messages