Подтвердить что ты не робот

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

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

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

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

4b9b3361

Ответ 1

Предполагая версию рельсов до 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

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

Ответ 2

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

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

В Rails 3 вы можете перенаправить внутрь файла rout.rb.

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

Ответ 3

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

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

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