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
