Forum: Rails-ES ejecutar una accion solo una vez

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Franco B. (Guest)
on 2009-01-14 01:13
(Received via mailing list)
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.
Jaime I. (Guest)
on 2009-01-14 01:17
(Received via mailing list)
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. <removed_email_address@domain.invalid>:
>
> _______________________________________________
> Ror-es mailing list
> removed_email_address@domain.invalid
> http://lists.simplelogica.net/mailman/listinfo/ror-es
>
>



--
Jaime I.
http://jaimeiniesta.com
http://www.workingwithrails.com/person/6722-jaime-iniesta
Franco B. (Guest)
on 2009-01-14 01:19
(Received via mailing list)
Gracias Jaime,  pensandolo bien, hice una pregunta muy tonta :P. Debe
ser la
hora.

2009/1/13 Jaime I. <removed_email_address@domain.invalid>
javier ramirez (Guest)
on 2009-01-14 01:24
(Received via mailing list)
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
Yoel (Guest)
on 2009-01-14 01:44
(Received via mailing list)
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.
Guillermo Álvarez Fernández (Guest)
on 2009-01-14 03:39
(Received via mailing list)
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

@@@
This topic is locked and can not be replied to.