¡¿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

Responder a