Modificación metodo edit en Scaffold

Hola a todos,
Estoy empezando con ROR y me estoy encontrando con muchas cosas, por
ejemplo. Estoy modificando el metodo edit de una clase que se llama
Servicio, y el problema es que realmente no me actualiza los datos, y
no me ningún error, simplemente no me actualiza los datos, me dice
que si, pero en el fondo no lo hace. A que puede ser debido?

fichero edit.rhtml

Servicios de las empresas

servicios contratados

Cliente <% @clientes.each do |cliente| %> <%= ' selected' if @servicio.cliente_id == @cliente_id %><%= cliente.nombre %> <% end %>

Concepto

Importe

Duración

Fecha de alta

Fecha finalización

Fecha último recibo

Show | Back

Lo mas seguro que el problema no este ahí, sino en el controlador. Pone
el
código para ver que es lo que hace.

saludos,
Juan P.

El día 5/11/06, Ivan Ruiz Sevilla -[dtres.es]- [email protected]
escribió:

Aquí tienes el controlador

class ServicioController < ApplicationController
scaffold:servicio

def edit
@servicio=Servicio.find(@params["id"])
@clientes = Cliente.find_all
end

end

El 06/11/2006, a las 0:39, Juan P. escribió:

ummm, no se a que te refieres, el metodo edit me llama a la vista
edit.rhtml que es lo que he puesto al principio.

El 06/11/2006, a las 0:53, Juan P. escribió:

Me parece que ese no es el metodo que llama el form, no es a update que
llama.

El día 5/11/06, Ivan Ruiz Sevilla -[dtres.es]- [email protected]
escribió:

si

El 06/11/2006, a las 1:00, Juan P. escribió:

si, pero al precionar el boton Update, llama a

no es asi?

El día 5/11/06, Ivan Ruiz Sevilla -[dtres.es]- [email protected]
escribió:

Cuando hago actualizar me dice “Servicio was successfully updated” en
cambio los datos no se actualizan :frowning:

El 06/11/2006, a las 1:00, Juan P. escribió:

Si pongo edit, se me queda en el formulario.

El 06/11/2006, a las 1:00, Juan P. escribió:

No te entiendo, que hay cambio el def edit por def update?

El 06/11/2006, a las 1:06, Juan P. escribió:

no, no tenes en el controlador un metodo llamado update? ese es el
codigo
que no esta andando.

El día 5/11/06, Ivan Ruiz Sevilla -[dtres.es]- [email protected]
escribió:

no se, es un scaffold. Piensa que estoy empezando empezando :frowning:
ç
El 06/11/2006, a las 1:10, Juan P. escribió:

Por eso te decía que el código del controlador que tenias que poner era
el
de update y no el de edit, ahí esta el problema

El día 5/11/06, Ivan Ruiz Sevilla -[dtres.es]- [email protected]
escribió:

Ya lo se, pero el scaffold te genera el update, asi que tiene que estar
ahi
en el controlador, pega el codigo en el mail.

El día 5/11/06, Ivan Ruiz Sevilla -[dtres.es]- [email protected]
escribió:

he creado un metodo update con lo mismo que el edit, he puesto una
vista update.rhtml, pero como guardo los datos?

El 06/11/2006, a las 1:10, Juan P. escribió:

Pero ese update es el que recien vos copiaste desde el edit, cuando vos
generas un scaffold, el solo te genera el metodo update, si vos no lo
tenes
quizas tengas que correr otra vez el scaffold.

El día 5/11/06, Ivan Ruiz Sevilla -[dtres.es]- [email protected]
escribió:

Yo nunca he corrido el scaffold basicamente he generado el esqueleto
y he puesto el scaffold:servicio. Que debería de hacer pues?

El 06/11/2006, a las 1:27, Juan P. escribió:

Ok, si tu corres desde la linea de comando ruby script/generate scaffold
Servicio, vas a poder ver el codigo que genera el scaffold y te podras
dar
cuenta de que anda mal.

El día 5/11/06, Ivan Ruiz Sevilla -[dtres.es]- [email protected]
escribió:

el fichero servicio_controller.rb tiene este codigo

class ServicioController < ApplicationController
scaffold:servicio

def edit
@servicio=Servicio.find(@params["id"])
@clientes = Cliente.find_all
end

def update
@servicio=Servicio.find(@params["id"])
@clientes = Cliente.find_all
end

end

El 06/11/2006, a las 1:16, Juan P. escribió:

Hola,

El 06/11/2006, a las 0:36, Ivan Ruiz Sevilla -[dtres.es]-
escribió:

Servicio, y el problema es que realmente no me actualiza los datos, y
no me ningún error, simplemente no me actualiza los datos, me dice
que si, pero en el fondo no lo hace. A que puede ser debido?

Tengo una preguntita para ti, ¿que es lo que has modificado de la
vista Servicio?

  	<p><b>Cliente</b>
  	<select name="Servicio[cliente_id]">
  		<% @clientes.each do |cliente| %>
  			<option value="<%=cliente.id%>"><%= ' selected' if

@servicio.cliente_id == @cliente_id %><%= cliente.nombre %>
<% end %>

Por esto que escribes, ¿estoy en lo cierto al pensar que el campo
cliente_id es una relación a otra tabla clientes? si es así ¿has
modificado los modelos de clientes y servicios para que sepan que
están relacionados?

  	<input id="Cliente_id" name="Servicio[cliente_id]" size=30

type=“text” value="<%[email protected]_id%>">

Hmmm aquí me pierdo un poco, ¿intentas que al cambiar el cliente en
el combo de arriba se modifique esta caja de texto?

Igual mis preguntas parecen un poco tontas, no lo se, al fin y al
cabo también he empezado hace poco con RoR O:)

Saludos!