Aureliano, la del before_filter la pensé (monkeypatcheando Base), pero me parece muy intrusivo. Si no fuera por la complejidad, preferiría patchear Routing, con tal de dejar un DSL claro y explícito (como Redirect Routing).
Por ahora puedo manejar los routes yo, pero quería desentenderme de eso. Asi que veré cómo lo resuelvo. Gracias! Nacho 2008/5/28 Adrian Madrid <[EMAIL PROTECTED]>: > Donde pones los redirects no es el problema. AFAIK Rails no acepta cambiar > los routes online asi que no se como lo podes solucionar. Contanos como lo > solucionaste si le encontras la vuelta ;-) > > AEM > > > 2008/5/28 NachoKB <[EMAIL PROTECTED]>: > >> El tema es que tengo que permitir que redireccionen de cualquier URL >> (agregarle el prefijo ya lo hace otra url), y pueden saltar con >> absolutamente cualquiera... >> >> Con el tema de usar el redirect del web server, tampoco aplica. Para >> agregar un redirect, tendría que (1) editar un archivo de configuración, (2) >> restartear el web server. Necesito que lo pueda hacer un usuario via web >> (sin acceso a los archivos de configuración). Por eso digo que (en >> principio) los Redirects serían models AR... >> >> Saludos, >> >> nacho >> >> 2008/5/28 Adrian Madrid <[EMAIL PROTECTED]>: >> >> Si no podes hacer los redirects prefixeados como sugiere Nelson esta >>> complicado. La unica otra opcion es saltearte Rails y usar un redirect map >>> file en Apache (si estas usando Apache) aunque no se si podes modificarlo y >>> no tener que recomenzar Apache. La verdad que no le veo una solucion >>> sencilla: o salteas el problema de conflictos usando un prefix o tenes que >>> reescribir las rutas y recomenzar el server. >>> >>> AEM >>> >>> 2008/5/28 nelson fernandez <[EMAIL PROTECTED]>: >>> >>> Nacho, >>>> >>>> Desconozco el dominio del problema, pero quizás una solución algo más >>>> simple podría ser dejar fija una parte de la ruta y usar los >>>> parámetros para hacer el redirect, algo así >>>> >>>> map.connect '/r/*sections', :controller => :redirects, :action => >>>> redirect >>>> >>>> >>>> -- >>>> :: nelson :: >>>> artesano de software >>>> http://netflux.com.ar >>>> >>>> >>>> 2008/5/28 NachoKB <[EMAIL PROTECTED]>: >>>> > Grupo, >>>> > tengo una duda con respecto a las rutas. El problema particular es >>>> que >>>> > necesito implementar redirects arbitrarios administrables por un >>>> usuario >>>> > (por lo que voy a tener un model Redirect, etc, etc). >>>> > >>>> > En donde me trabé es con las benditas rutas. Según entiendo, el >>>> primer >>>> > mapeo que matchea la url (según el orden en que se declaran en el >>>> routes.rb) >>>> > es el que determina qué es lo que se ejecuta. >>>> > >>>> > Mi problema es si quiero tener redirects arbitrarios, necesito una >>>> manera >>>> > de que, si la url no matchea algún redirect específico (y esto está >>>> definido >>>> > por lógica propia del redirect, no alcanza el método connect...), >>>> poder >>>> > continuar con la evaluación de las rutas subsiguientes. >>>> > >>>> > Algo así nunca lo vi posteado en ningún lado. Doy un ejemplo a ver >>>> si >>>> > puedo aclarar un poco: >>>> > >>>> >> routes.rb: >>>> >> >>>> >> map.connect '*path', :controller => :redirects, :action => redirect >>>> >> >>>> >> map.connect ':controller/:action/:id' >>>> > >>>> > en este caso, la segunda regla nunca se llega a considerar (ya que la >>>> > primera siempre matchea). RedirectsController siempre se ejecuta, aún >>>> cuando >>>> > no encuentre un redirect que aplique a la URL del request (en cuyo >>>> caso no >>>> > tiene forma de devolver el control de flujo a Routing). >>>> > >>>> > Entonces, dije, hago algo así (siempre usando rutas clásicas sin >>>> resources >>>> > en los ejemplos): >>>> > >>>> >> routes.rb: >>>> >> >>>> >> map.connect ':controller/:action/:id' >>>> >> >>>> >> map.connect '*path', :controller => :redirects, :action => redirect >>>> > >>>> > El problema con este approach es que si tengo un controller "Blog", >>>> por >>>> > ejemplo, y quiero tener un redirect de "/blog/read/16" a >>>> > "/blog/show/nombre-de-un-post", "/blog/read/16" matchea la primera >>>> regla >>>> > (con { :controller => :blog, :action => :read, :id => "16" }) y nunca >>>> se >>>> > ejecuta el controller Redirects... >>>> > >>>> > Por un lado necesito la flexibilidad de trabajar con redirects >>>> > absolutamente arbitrarios (editables por un usuario), pero por otro >>>> lado >>>> > comienzo a temer por el lado de performance. Una que se me había >>>> ocurrido >>>> > era extender el connect con un bloque (que sirva de predicate para >>>> aceptar >>>> > la regla definitivamente, y ahí pondría la lógica propia). El problema >>>> sería >>>> > que eso se ejecutaría absolutamente en todo request (teniendo un >>>> overhead >>>> > que puede ser notable si no cacheo esas consultas). >>>> > >>>> > Se me ocurriría extender Redirect Routing [1] para soportar bloques >>>> (me >>>> > ahorraría el controller)... tendría que pensar en cómo hacerlo lo más >>>> light >>>> > posible de todas maneras... >>>> > >>>> > ¿Se les ocurre o conocen algo que se me haya pasado? >>>> > >>>> > nacho >>>> > >>>> > [1] >>>> http://pinds.com/2006/07/18/release-redirect-routing-plugin-for-rails >>>> > >>>> > _______________________________________________ >>>> > Ruby mailing list >>>> > [email protected] >>>> > >>>> http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar >>>> > >>>> > >>>> _______________________________________________ >>>> Ruby mailing list >>>> [email protected] >>>> http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar >>>> >>> >>> >>> >>> -- >>> Adrian Esteban Madrid >>> Lead Developer, Prefab Markets >>> http://www.prefabmarkets.com >>> _______________________________________________ >>> Ruby mailing list >>> [email protected] >>> http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar >>> >>> >> >> _______________________________________________ >> Ruby mailing list >> [email protected] >> http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar >> >> > > > -- > Adrian Esteban Madrid > Lead Developer, Prefab Markets > http://www.prefabmarkets.com > > _______________________________________________ > Ruby mailing list > [email protected] > http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar > >
_______________________________________________ Ruby mailing list [email protected] http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar
