2010-03-25 15 views

Respuesta

6

Suponiendo versión rieles antes 3.

Puede crear un nuevo RedirectController o meter una única función de distancia, en un controlador existente, para hacer algo como lo siguiente:

map.js_embed '/j/e', 
    :controller => :redirect_controller, 
    :action => :some_function, 
    :path => "embed" 

Luego, su función sería haga esto:

def some_function 
    if params[:path] 
    redirect_to "/javascripts/#{params[:path]}.js" 
    end 
end 

o algo por el efecto.

151

Con Rails 3, puede redirigir dentro del archivo routes.rb.

match "/posts/github" => redirect("http://github.com/rails.atom") 

En Rails 4: (gracias) @dennis

get '/stories', to: redirect('/posts') 
+7

Ver [http://guides.rubyonrails.org/routing.html#redirection](http://guides.rubyonrails.org /routing.html#redirection) – user664833

+7

¡Gracias! También necesitaba incluir una identificación en mi redirección. Para aquellos que lo necesiten /: id/en la coincidencia se puede hacer referencia como /% {id}/en la URL redirigida ... –

+6

En Rails 4, 'get '/ stories', to: redirect ('/ posts') ', como se ve en [RoR Guides] (http://edgeguides.rubyonrails.org/routing.html#redirection). Tenga en cuenta que no necesita crear una vista ya que está redireccionando en el nivel de las rutas. – Dennis

Cuestiones relacionadas