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

Responder a