Nombre usuario borrado

hola, estoy jugando con Restful_authentication y me ha surgido una duda.

Si yo tengo una simple gestion de usuarios en la que puedo (edit,
update,
show y delete)
En el delete tengo esto (en el controlador)

def destroy
@user = User.find(params[:id])
@user.destroy
flash[:notice] = ‘El usuario fue eliminado.’
respond_to do |format|
format.html { redirect_to(users_url) }
format.xml { head :ok }
end
end

como o dónde puedo poner un flash[:notice] que me diga despues de borrar
un
usuario (p.e.: “Andrés”]

—> El usuario [Andrés] fue eliminado

ya veo que en el metodo destroy hay ese flash notice (lash[:notice] =
‘El
usuario fue eliminado.’), pero no se como pasarle el nombre del usuario
borrado, ya que se pierde despues de @user.destroy no?

gracias y un saludo

Guarda el nombre de usuario en una variable antes de borrarlo.

On Mon, Apr 28, 2008 at 10:38 AM, Andrés gutiérrez
[email protected]

Asi?

def destroy
@user = User.find(params[:id])
@borrado = User.find(params[:id])

@user.destroy
flash[:notice] = ‘#{@borrado} fue eliminado.’
respond_to do |format|
format.html { redirect_to(users_url) }
format.xml { head :ok }
end
end

2008/4/28 Juan P. [email protected]:

Hola,

Juan P. wrote:

@user = User.find(params[:id])
@name = @user.name http://user.name
@user.destroy

en realidad no necesitas la variable name. Aunque borres el usuario, la
variable @name sigue manteniendo el valor de los campos. Eso sí, deja
los atributos “congelados” de forma que no puedas modificar el objeto
una vez hecho el destroy, pero consultarlo puedes mientras estés en
scope.

saludos,

javier ramírez

A ver, lo primnero muchas gracias por las respuestas. Y en cuanto a la
duda,
lo estoy haciendo de estas dos formas:
1)
def destroy
@user = User.find(params[:id])
@user.destroy
flash[:notice] = ‘#{@user.email} fue eliminado.’
respond_to do |format|
format.html { redirect_to(users_url) }
format.xml { head :ok }
end
end

  1. def destroy
    @user = User.find(params[:id])
    @borrado= @user.email
    @user.destroy
    flash[:notice] = ‘#{@borrado} fue eliminado.’
    respond_to do |format|
    format.html { redirect_to(users_url) }
    format.xml { head :ok }
    end
    end

Ninguno de los dos me muestra el nombre. Lo estoy escribiendo mal, pero
no
sé que

El día 28 de abril de 2008 16:36, javier ramirez [email protected]
escribió:

@user = User.find(params[:id])
@name = @user.name
@user.destroy

No es necesario que busques dos veces el mismo usuario en la base de
datos.

On Mon, Apr 28, 2008 at 11:13 AM, Andrés gutiérrez
[email protected]

El Monday 28 April 2008 15:38:29 Andrés gutiérrez escribió:

respond_to do |format|

ya veo que en el metodo destroy hay ese flash notice (lash[:notice] = ‘El
usuario fue eliminado.’), pero no se como pasarle el nombre del usuario
borrado, ya que se pierde despues de @user.destroy no?

gracias y un saludo

No se pierde, se borra de la base de datos pero lo que se hubiera leido
de la
base de datos sigue en la variable


Sergio Cambra .:: entreCables - Symbol Servicios Informáticos S.L. ::.
Nicolás Guillén 6, locales 2 y 3. 50.018 Zaragoza
T) 902 021 404 F) 976 52 98 07 E) [email protected]

Hola Andrés,

Existe ese campo? Es decir, user tiene un atributo que sea email? Quizás
este vacio por algún motivo. Lo más fácil sería debuggear la aplicación,
y
poner un breakpoint en ese punto y ver que atributos tiene @user

Saludos,

2008/4/28 Andrés gutiérrez [email protected]:

No se pierde, se borra de la base de datos pero lo que se hubiera leido
de
la
base de datos sigue en la variable

vale, entiendo que la información sigue en la variable, pero mi problema
es
que con el código que he mostrado arriba, no consigo recuperar esa
información. Que estoy hacciendo mal?

El día 28 de abril de 2008 18:03, Sergio Cambra .:: entreCables - Symbol
Servicios Informáticos S.L. ::. [email protected] escribió:

Existe ese campo? Es decir, user tiene un atributo que sea email? Quizás
este vacio por algún motivo. Lo más fácil sería debuggear la aplicación,
y
poner >>un breakpoint en ese punto y ver que atributos tiene @user
Existe. Atributo te refieres a un campo de la tabla User? si es eso
existe y
esta relleno.

El día 28 de abril de 2008 19:20, Antonio R. [email protected]
escribió:

prueba a cambiar esto ‘#{@user.email} fue eliminado.’
por esto “#{@user.email} fue eliminado.”

tengo entendido que con las comillas simples no interpreta la variable,
asi que prueba con comillas dobles

Era eso, confirmado, con comillas simples NO lee las variables en los
hash
flash[:notice]

Muchas gracias Miguel. Son de estas cosas que las puedes dejar pasar,
pero
que en el fondo te jode no poder resolver.

El día 28 de abril de 2008 20:24, Miguel M. <
[email protected]> escribió:

prueba a cambiar esto ‘#{@user.email} fue eliminado.’
por esto “#{@user.email} fue eliminado.”

tengo entendido que con las comillas simples no interpreta la variable,
asi
que prueba con comillas dobles

Saludos

2008/4/28 Andrés gutiérrez [email protected]:

Hola Andres, lo que te ha sucedido es el comportamiento normal de Ruby,
cuando quieres usar “interpolación”, osea obtener el valor de una
variable
dentro >>de una cadena debes usar la notacion: #{aqui_variable} y la
cadena
debe estar entre comillas dobles, para todo lo demas existe MasterCard,
digo
las >>comillas simples.

Gracias por la explicación Ruben

El día 29 de abril de 2008 0:29, Ruben. D. [email protected]
escribió:

Hola Andres, lo que te ha sucedido es el comportamiento normal de Ruby,
cuando quieres usar “interpolación”, osea obtener el valor de una
variable
dentro de una cadena debes usar la notacion: #{aqui_variable} y la
cadena
debe estar entre comillas dobles, para todo lo demas existe MasterCard,
digo
las comillas simples.

Saludos.

El día 28 de abril de 2008 13:44, Andrés gutiérrez
[email protected]
escribió: