¡¿Podés creer que me puse a investigar cómo hacían routing otros frameworks (ppalmente loa copycats en PHP) y me salteé Merb?!
Ya lo miro... Nacho 2008/5/29 Matias Pablo Brutti <[EMAIL PROTECTED]>: > el loquito q hace Merb , creo que queria pushear a ruby un par de reglas > asi copadas que estan implementadas en el routing de Merb , al menos escuche > decirle eso en una de sus presentaciones ... Pero no esoy seguro que todavia > este eso siquiera en algun branch de rails. Talves si tenes ganas de > investigar sobre eso , puedas encontrar la solucion a tu problema. > Slds. > > > 2008/5/28 NachoKB <[EMAIL PROTECTED]>: > >> 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 >> >> > > > -- > -- > --<自由編碼人>-- > Ing. Matias Pablo Brutti > Security Consultant > Email : [EMAIL PROTECTED] > Site: http://www.freedomcoder.com.ar > > _______________________________________________ > 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
