Duda en button_to

hola a todos, estoy mirando la documentacion de rails y en el caso del
button_to aparece algo parecido a esto

<%= button_to “delete imagen”, { :action =>“delete”, :id =>@image},
:confirm =>“estas seguro??”, :accion => :borra %>
la duda es la siguiente
en el controlador debe haber algo como
@image=…

esto ya a llamar al método delete
como yo puedo saber cuando le doy al boton el valor que esta tomando el
id???
es decir, que tiene que estar en delete, para que me muestre el valor de
id??

muchas gracias de antemano

2008/4/1 Maite P. [email protected]:

es decir, que tiene que estar en delete, para que me muestre el valor de
id??

En tu método delete debes tener algo como i = Image.find(params[:id])
o algo parecido que es quien se encarga de buscar la imágen que tenga
la ID que le estás pasando. Lo que debes hacer en este caso es asignar
este identificador a algo con lo que puedas trabajar. ¿Es claro eso?

hola, federico gracias por contestar,creo que si me quedo claro, yo le
estoy pasando a mi metodo delete lo que va en el parametro id

<%= button_to “delete imagen”, { :action =>“delete”, :id =>@image.id},
:confirm =>“estas seguro??”, :accion => :borra %>

es decir si en mi metodo delete tengo algo como esto
i = Image.find(params[:id])

i ya tiene el valor del id que yo le pase.???

otra cosa, el id es un mero nombre??? es decir vale igual si pongo
esto???

<%= button_to “delete imagen”, { :action =>“delete”, :cualquiercosa
=>@image.id},
:confirm =>“estas seguro??”, :accion => :borra %>

no tiene nada que ver con el identificador único id de html, ni nada de
eso???

2008/4/1 Maite P. [email protected]:

<%= button_to “delete imagen”, { :action =>“delete”, :id =>@image.id},
:confirm =>“estas seguro??”, :accion => :borra %>

Lo que haces básicamente es crear un boton a la acción especificada en
:action, con el texto “delete imagen” , que generará JS para la
confirmación de la acción. El último parametro del método button_to
son las opciones para el HTML que será generado, así que no se de
donde sacas la opción “:accion” con valor “:borra”.

Te recomendaría que mirases

y url_for para que veas las opciones que puedes pasar.

es decir si en mi metodo delete tengo algo como esto
i = Image.find(params[:id])
i ya tiene el valor del id que yo le pase.???

Tu le pasas la ID de una imágen así que el busca una imágen en la base
de datos con ese identificador. En caso de que la imagen exista, sí, i
tendrá el valor que esperabas. Si esta ID no existe entonces
tendrásproblemas (ActiveRecord lanzara una excepción RecordNotFound).

otra cosa, el id es un mero nombre??? es decir vale igual si pongo
esto???

No se, ¿porqué no pruebas y me cuentas tu? :slight_smile:

no tiene nada que ver con el identificador único id de html, ni nada de
eso???

No, no tiene nada que ver con el id de HTML, de hecho mira que en tus
ejemplos estás pasando el id de la imagen, no de un campo HTML.

Por último, te recomendaría que mirases el libro de Agile Web
Development with Rails o algún otro libro introductorio que pueda
responder tus dudas.

ok, muchas gracias por todo, seguire tu consejo :slight_smile: