JavaFree.org | RubyOnBr.org

Estranho comportamento da View

Acompanhar Estranho comportamento da View 10 posts, 4 participantes

Donkani Gygfil 47 posts

Olá todos! Boa noite.

Na view list do meu ClientController, observei que após clicar em editar para corrigir a grafia de um nome de cliente, por exemplo, de Mello para Melo, quando retorno para a list, exatamente o nome que foi editado não é mais exibido. Contudo, ao acessar a tabela clients pelo DB, vejo-o na mesma posição e salvo com a grafia correta realizada através da view edit. O que poderia estar ocorrendo e como corrigir?

Grato pela ajuda.

Gygfil

 
Avatar Adriano Dadario 229 posts

Gygfil

Você pode estar apenas renderizando o :action do list e não redirecionando.

Procure fazer o redirecionamento no final do método:

:)

 
Donkani Gygfil 47 posts

Caro Dadario.
Antes quero agradecer pela sua atenção e pedir desculpas pela demora em te dar retorno – tive “impeditivos contra-tempos pessoais”. Quanto à orientação sobre a view list, confirmo que eu não havia modificado o padrão do Rails e, se faço como voce orientou, de fato redireciona para a list, porém continua o mesmo problema “como se houvesse ocorrido um destroy” no registro editado(não ocorre, pois quando entro pelo DB o registro está lá, com a edição salva!). Me frustra o fato de parecer que tal problema só ocorreu na minha aplicação, pois, não encontrei relatos semelhantes no forum.

Mais uma vez, grato pela ajuda.

 
Avatar Shairon Toledo 1428 posts

Só para grantir é o id muda? ou é o mesmo?

 
Avatar Mereghost 1476 posts

Tem como postar o ClientController e as Views?

 
Donkani Gygfil 47 posts

Olá Shairon e Mereghost!

Respondendo:

1-O id não muda. Observei que o registro editado é deslocado para a última posição na view list, com as modificações realizadas com sucesso.

2-Aqui os códigos:
(ClientController)

( view list )

Grato pela ajuda.

 
Donkani Gygfil 47 posts

Opss!

Desculpem pelo mau jeito!!!
Preciso também aprender a formatar meus posts.

 
Avatar Mereghost 1476 posts

Gygfil:

Se tu der um “refresh” na list o nome reaparece ou não?

 
Donkani Gygfil 47 posts

Olá Mereghost.

Dei um “refresh” no browser e nada muda na list. Se voce se refere a “refresh” via código da list, não tentei por carência de “know how” para isso. Voce poderia dar um exemplo de como fazer?

Grato pela atenção.

 
Donkani Gygfil 47 posts

Boa noite a todos!

Encontrei a causa do problema. Por padrão, a action list não define a ordenação dos registros a serem exibidos pela view. Assim, quando modificamos e salvamos, é interpretado “como se fosse um novo registro”, sendo colocado na última posição da lista. Para manter a ordenação igual à do DB acrescentei o seguinte ao método list do ClientController: <:order => "id">.
Ficou então assim:

Grato a todos.