Ejecutar una accion solo una vez

Hola a todos,

estoy medio perdido, tengo una aplicación en donde averiguamos de
donde
procede el usuario tomando la ip, la acción está en un before_filter, el
tema es que esta acción se debería ejecutar solo una vez para cada
usuario,
se podría hacer esto? alguna idea?

Saludos,
Franco.

Hola Franco, para hacer eso tendrás que anotar en algún lado que has
hecho la acción, y no volverla a hacer las siguientes veces, no?

Por ejemplo podrías almacenarlo en tu modelo usuario, quizá? O usar un
modelo aparte, no se… pero en algún sitio lo tendrás que anotar, eso
está claro.

2009/1/14 Franco B. [email protected]:


Ror-es mailing list
[email protected]
http://lists.simplelogica.net/mailman/listinfo/ror-es


Jaime I.
http://jaimeiniesta.com
http://www.workingwithrails.com/person/6722-jaime-iniesta

Gracias Jaime, pensandolo bien, hice una pregunta muy tonta :P. Debe
ser la
hora.

2009/1/13 Jaime I. [email protected]

Hola,

estoy medio perdido, tengo una aplicación en donde averiguamos de
donde procede el usuario tomando la ip, la acción está en un
before_filter, el tema es que esta acción se debería ejecutar solo una
vez para cada usuario, se podría hacer esto? alguna idea?

si está en un before_filter no es una acción realmente, sino un filtro.

una forma de hacer lo que quieres es guardar el resultado de esa
consulta de la IP en la session, de forma que tu filtro sólo hage la
consulta si esa variable no existe.

a modo de ejemplo

before_filter :filtro_de_ip

def filtro_de_ip
if session[:de_donde_es_este_notas].blank?

session[:de_donde_es_este_notas]=averigua_a_ver_de_donde_es_este_notas
end
end

suerte,


javier ramírez

…i do ruby on rails development in madrid, spain, at
http://www.aspgems.com
…you can find out more about me on http://formatinternet.wordpress.com
and http://workingwithrails.com/person/5987-javier-ramirez

No podria tambien cachearla en una variable de instancia??


Visite nuestra web en Internet
http://www.ispvc.rimed.cu
“50 Años de Educación en
Revolución”

XI Encuentro Internacional de Economistas sobre Globalización y Problemas
del Desarrollo 2 al 6 de marzo de 2009
http://www.anec.cu/


Este mensaje ha sido analizado por MailScanner
en busca de virus y otros contenidos peligrosos,
y se considera que está limpio.

El 14/01/2009, a las 0:43, Yoel escribió:

No podria tambien cachearla en una variable de instancia??

No, por que en la siguiente request al site se perdería.

De todas formas y por curiosidad. ¿Una instancia de qué?

Yo hubiese puesto algo así

@@@ ruby
before_filter :load_client_location

private

def load_client_location
@location = session[:location] ||=
GetLocation.ip(request.remote_ip)
end

@@@