52 votes

Est-il possible de créer cette route de redirection dans Rails ?

Est-il possible de faire une redirection dans le fichier routes d'une application Rails ?

Plus précisément, j'aimerais transmettre /j/e a /javascripts/embed.js

Pour l'instant, la seule façon de procéder est de créer un fichier j avec un contrôleur e qui redirige vers cette méthode.

175voto

Steven Soroka Points 8446

Dans Rails 4 et plus

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

Si vous avez besoin d'une route nommée, vous pouvez ajouter une route explicite de type as paramètre :

get '/stories', to: redirect('/posts'), as: :however_you_want_to_name_it

Source : Redirection @ guides.rubyonrails.org


Dans Rails 3, vous pouvez rediriger à l'intérieur du fichier routes.rb.

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

9 votes

8 votes

Merci de votre attention ! J'avais également besoin d'inclure un identifiant dans ma redirection. Pour ceux qui en ont besoin, /:id/ dans la correspondance peut être référencé comme /%{id}/ dans l'url redirigée...

8 votes

Dans Rails 4, get '/stories', to: redirect('/posts') , comme le montre le Guides RdR . Notez que vous n'avez pas besoin de créer une vue puisque vous redirigez au niveau des routes.

8voto

Tony Fontenot Points 2963

En supposant que la version des rails soit antérieure à 3.

Vous pouvez créer un nouveau RedirectController ou de placer une seule fonction dans un contrôleur existant, pour faire quelque chose comme ce qui suit :

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

Dans ce cas, votre fonction ferait ceci :

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

ou quelque chose du même genre.

0voto

Lucas Caton Points 140

Chemin de la racine

Vous pouvez faire le Chemin de la racine rediriger vers un site web externe :

root to: redirect('https://www.lucascaton.com.br/en')

0voto

Larry K Points 16266

En Trucs de routage permet de définir des redirections dans le fichier de routage. Il fonctionne bien pour moi.

Mis à jour en février 2014 : Notez que le plugin routing_tricks a été écrit pour une ancienne version de Rails. Il ne fonctionne probablement pas avec la version actuelle.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X