Возможно ли создать этот маршрут перенаправления в Rails? - PullRequest
43 голосов
/ 26 марта 2010

Можно ли сделать перенаправление в файле маршрутов приложения Rails?

В частности, я бы хотел переслать /j/e на /javascripts/embed.js

Прямо сейчас единственный способ, которым я могу думать, это создать j контроллер с методом e, который перенаправляет на него.

Ответы [ 3 ]

159 голосов
/ 17 сентября 2010

С помощью Rails 3 вы можете перенаправить содержимое в файл rout.rb.

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

В Rails 4: (спасибо @dennis)

get '/stories', to: redirect('/posts')
6 голосов
/ 26 марта 2010

Предполагая версию рельсов до 3.

Вы можете создать новый RedirectController или убрать одну функцию в существующий контроллер, чтобы сделать что-то вроде следующего:

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

Тогда ваша функция сделает это:

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

или что-то для этого эффекта.

0 голосов
/ 26 мая 2019

корневой путь

Вы можете перенаправить корневой путь на внешний сайт:

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