Como resolver esse problema de Edição que nao Salva.

47 views
Skip to first unread message

Tiago Garcia

unread,
Mar 27, 2012, 10:35:35 AM3/27/12
to Rails
Tenho um form, e os campos estado e cidade que vem de outra tabela guardando a id.

1 - Ao editar, posso alterar qualquer campo da form, e se eu nao alterar cidade e estado, ele nao salva.

2 - outro problema, ele nao carrega a cidade, pois como veem é um input, se o ( F. ) do objeto.


  <div class="field">
    <%= f.label :estado %><br />
    <%= f.collection_select(:estado_id, @estados, :id, :nome, { :include_blank => 'Estado' }, {:class=>"slc span4"}) %>
  </div>
  <div class="field">
    <%= f.label :cidade %><br />
    <select id="cidade_id" name="cadastre_clinical[cidade_id]" class="slc span4" ><option value="">Escolha a Cidade</option></select>
  </div>

O q faço nesse caso?

Stephen Eilert

unread,
Mar 27, 2012, 12:56:28 PM3/27/12
to rail...@googlegroups.com
Você reescreve o e-mail, explicando melhor.

De qualquer forma, porque cidade é um html select?


--

-- Stephen

"Kids these days.
Whatever happened to hard work?"

       -- Joel Spolsky, The perils of javaschools

Tiago Garcia

unread,
Mar 27, 2012, 1:10:39 PM3/27/12
to rail...@googlegroups.com
A situação 1.

O form nao salva alterações. Motivo não sei, mas observei que se eu nao alterar a cidade e o estado, ele nao considera mudanças no meu form.

Sera algo na minha model?


A situação 2, como o select cidade é um html, ao editar, ele nao preenche o campo.

Porque uso assim, pq quem preenche a cidade, é um js, no change de estado.

Posso ajudar com mais informaçoes?

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

Rogerio Medeiros

unread,
Mar 27, 2012, 1:13:03 PM3/27/12
to rail...@googlegroups.com
Coloca o model aqui e toda a view do form, usar o pastie.org ou outro site
--
att,

Rogerio

A complicação se descomplica na mesma proporção que fazemos os nós se desatarem ao tecer o conhecimento do saber.

Tiago Garcia

unread,
Mar 27, 2012, 1:20:43 PM3/27/12
to rail...@googlegroups.com

Rogerio Medeiros

unread,
Mar 27, 2012, 1:33:26 PM3/27/12
to rail...@googlegroups.com
pq vce tem belongs to estado e cidade ? deveria ser so cidade

Tiago Garcia

unread,
Mar 27, 2012, 1:35:51 PM3/27/12
to rail...@googlegroups.com
Eu nao deveria guardar o id de estado e cidade?

Rogerio Medeiros

unread,
Mar 27, 2012, 1:39:13 PM3/27/12
to rail...@googlegroups.com
Na verdade voce deveria ter uma tabela estados e outra cidades, com cidade associada a estado.

Quando voce altera o estado ele carrega as cidades ?

cade o metodo getCityesByStateId ?

Rogerio Medeiros

unread,
Mar 27, 2012, 2:11:29 PM3/27/12
to rail...@googlegroups.com
Bora la te ajudando lol, seguinte voce deve ter um cadastro de estados e depois um de cidades, espero.

http://pastie.org/3679619
http://pastie.org/3679612
http://pastie.org/3679604

Tiago Garcia

unread,
Mar 27, 2012, 2:15:58 PM3/27/12
to rail...@googlegroups.com
O getCityesByStateId esta na controller, e funciona sim, ele carrega a lista de cidades apor escolher o estado..

def get_cities_by_state_id
    estado_id = params[:estado_id]
    cidades = Cidade.find(:all, :conditions => {:estado_id => estado_id})
    response = []
    cidades.each do |cidade|
      response << {:id => cidade.id, :n => cidade.nome}
    end
    render :json => {:response => response.compact}.as_json
  end

E tenho as duas models, Estado e Cidade.

Em 27 de março de 2012 14:39, Rogerio Medeiros <arg...@gmail.com> escreveu:

Tiago Garcia

unread,
Mar 27, 2012, 3:01:16 PM3/27/12
to rail...@googlegroups.com
Rogerio partindo dos codigos que vc me mandou, eu consegui dar uma refatorada, e deixar mais generico ainda meus codigos.

Esse estado e cidade, sao usados em umas 10 telas.

Não entendi, porque eu colocaria, belong_to so para Cidade, e nao tambem para o estado.

Rogerio Medeiros

unread,
Mar 27, 2012, 4:50:22 PM3/27/12
to rail...@googlegroups.com
Tiago assim:

Eu creio que em seu model de cidade voce tenha um belongs_to :estado, entao nao tem necessidade de voce colocar em cadastre_clinica um belongs para estado, coloca somente o belongs_to cidade, tendo somente um campo na tabela de cadastre_clinica cidade_id

Logo voce vai poder pegar a cidade de cadastre_clinica assim, cadastre_clinica.cidade.estado.name

Rogerio Medeiros

unread,
Mar 27, 2012, 4:53:14 PM3/27/12
to rail...@googlegroups.com
opa estado

Igor Batista

unread,
Mar 27, 2012, 4:56:18 PM3/27/12
to rail...@googlegroups.com


Tiago Garcia, vc pode postar o codigo refatorado ?
[]'s
Igor C. Batista
SKYPE: mld_crark
G -TALK: igor.b...@gmail.com
twitter: @igorcbatista

Tem um segundo? Então, dá uma olhadinha nisso:
Um site de publicidades, de Portugal, está pagando em euros (quase 3x mais que em reais)
pra quem estiver disposto visitem:
http://ptcganhandodinheiro.blogspot.com/

Tiago Garcia

unread,
Mar 27, 2012, 5:10:08 PM3/27/12
to rail...@googlegroups.com
Java script, dentro de application.js
http://pastie.org/3680549

action, coloquei na aplication_controller

http://pastie.org/3680554

form
http://pastie.org/3680562

serve tambem pra telas de pesquisa. ou para telas de cadastro

claro...tenho um seed, e as model desses ai.

Romulo Storel

unread,
May 14, 2012, 7:34:22 AM5/14/12
to rail...@googlegroups.com
Aqui funciona normal para cadastrar, mas na hora de editar cidade estados não vao preenchidos.

Rodrigo Martins

unread,
May 14, 2012, 7:35:44 AM5/14/12
to rail...@googlegroups.com
Romulo, voce precisa fazer a consulta na action de edit.


--
Atenciosamente
___________________________
Rodrigo Martins
www.rrmartins.com

tel: (28) 9882-6202
      (27) 9601-9573

 

My profiles: Facebook Twitter
Contact me: Google Talk/ rod...@rrmartins.com Skype/ rr_martinsj MSN/ rod...@rrmartins.com




Em 14 de maio de 2012 08:34, Romulo Storel <romulo...@gmail.com> escreveu:
Aqui funciona normal para cadastrar, mas na hora de editar cidade estados não vao preenchidos.

Romulo Storel

unread,
May 14, 2012, 7:43:14 AM5/14/12
to rail...@googlegroups.com

Já fiz essa pesquisa o problema é na hora de setar na view pq so vai ter cidades no combobox quando o combobx de estado for mudaro: onchange

Rodrigo Martins

unread,
May 14, 2012, 8:10:42 AM5/14/12
to rail...@googlegroups.com
Como esta fazendo? 

se puder posta ai o codigo.



--
Atenciosamente
___________________________
Rodrigo Martins
www.rrmartins.com

tel: (28) 9882-6202
      (27) 9601-9573

 

My profiles: Facebook Twitter
Contact me: Google Talk/ rod...@rrmartins.com Skype/ rr_martinsj MSN/ rod...@rrmartins.com




Em 14 de maio de 2012 08:43, Romulo Storel <romulo...@gmail.com> escreveu:

Já fiz essa pesquisa o problema é na hora de setar na view pq so vai ter cidades no combobox quando o combobx de estado for mudaro: onchange

--

Romulo Storel

unread,
May 14, 2012, 8:13:29 AM5/14/12
to rail...@googlegroups.com

Rodrigo Martins

unread,
May 14, 2012, 8:33:20 AM5/14/12
to rail...@googlegroups.com
vou fazer aqui uma apps, com um exemplo e já te passo.. ok?



--
Atenciosamente
___________________________
Rodrigo Martins
www.rrmartins.com

tel: (28) 9882-6202
      (27) 9601-9573

 

My profiles: Facebook Twitter
Contact me: Google Talk/ rod...@rrmartins.com Skype/ rr_martinsj MSN/ rod...@rrmartins.com




Romulo Storel

unread,
May 14, 2012, 8:34:39 AM5/14/12
to rail...@googlegroups.com

Agradeceria muito mesmo =]

Romulo Storel

unread,
May 15, 2012, 1:25:44 PM5/15/12
to rail...@googlegroups.com
ate agora nada =S

Victor Lins

unread,
May 15, 2012, 5:14:44 PM5/15/12
to rail...@googlegroups.com
Exemplo:

Nas ações edit e update
@cidades = Cidade.where(:estado_id => @pessoa.cidade.estado_id)


Nas views
<%= f.collection_select :cidade_id@cidades, :id, :nome, { :include_blank => 'Cidade' }, {:class=>"slc span4"} %>

Em terça-feira, 15 de maio de 2012 14h25min44s UTC-3, Romulo Storel escreveu:
ate agora nada =S

Victor Lins

unread,
May 15, 2012, 5:22:17 PM5/15/12
to rail...@googlegroups.com
Na ação create também.. @cidades = Cidade.where(:estado_id => @pessoa.cidade.estado_id)
e na ação new deve ficar @cidades = []

Rodrigo Martins

unread,
May 15, 2012, 8:13:01 PM5/15/12
to rail...@googlegroups.com
oi Desculpa a demora

tive um problema que não me deixou na frente do pc no dia de ontem..

fiz uma pequena app, olha ai como ficou:




--
Atenciosamente
___________________________
Rodrigo Martins
www.rrmartins.com

tel: (28) 9882-6202
      (27) 9601-9573

 

My profiles: Facebook Twitter
Contact me: Google Talk/ rod...@rrmartins.com Skype/ rr_martinsj MSN/ rod...@rrmartins.com




--

Rodrigo Martins

unread,
May 15, 2012, 8:13:30 PM5/15/12
to rail...@googlegroups.com
estou fazendo um post sobre isso.. logo que publicar mando para voces



--
Atenciosamente
___________________________
Rodrigo Martins
www.rrmartins.com

tel: (28) 9882-6202
      (27) 9601-9573

 

My profiles: Facebook Twitter
Contact me: Google Talk/ rod...@rrmartins.com Skype/ rr_martinsj MSN/ rod...@rrmartins.com




Rodrigo Martins

unread,
May 15, 2012, 8:48:07 PM5/15/12
to rail...@googlegroups.com
No blog da empresa que trabalho, Flexa IT, tem um post que fiz sobre isso...


o Projeto que postei do github, esta com rails 3.1.3. e não usa jquery. o exemplo no post tem jquery, e a versão do rails é a 3.1

Rogerio Medeiros

unread,
May 15, 2012, 9:26:21 PM5/15/12
to rail...@googlegroups.com

Tiago Garcia

unread,
May 16, 2012, 7:33:54 PM5/16/12
to rail...@googlegroups.com
Vcs estao reinventando a roda?

postei ai, o codigo completo, testado, e ainda corrigi bugs do meio do caminho.

so seguir os 3 links q passei.
Tiago
CodeCommerce - PageFreeBSB
61 8120 3003

Romulo Storel

unread,
May 17, 2012, 8:32:02 PM5/17/12
to rail...@googlegroups.com

Valew manolos, deu certo. Obrigado a todos!
Reply all
Reply to author
Forward
0 new messages