web-dev-qa-db-ja.com

Railsでこのリダイレクトルートを作成できますか?

Railsアプリのroutesファイルでリダイレクトを行うことは可能ですか?

具体的には、/j/eから/javascripts/embed.js

今のところ、私がそれを行うことができると思う唯一の方法は、それにリダイレクトするjメソッドでeコントローラーを作成することです。

43
Shpigford

Railsバージョン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

またはその効果のための何か。

6
Tony Fontenot

In Rails 4 and 5:(ありがとう@dennis)

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

Rails 3では、routes.rbファイル内でリダイレクトできます。

match "/posts/github" => redirect("http://github.com/Rails.atom")
159
Steven Soroka

ルートパス

ルートパスを外部Webサイトにリダイレクトできます。

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