2016-08-05 7 views
0

routes.rbをparamsでリダイレクトするには、次の構文を使用します。パラメータではなくワイルドカード値を使用してroutes.rbでリダイレクトしますか?

get '/stories/:name', to: redirect('/articles/%{name}', status: 301) 

ワイルドカードURLを渡したい場合はどうすればよいですか。 私はそれが動作していない以下を試してみました。

get '/stories/*search', to: redirect('/articles/%{search}', status: 302) 

get '/stories/*search', to: redirect("/articles/#{search}", status: 302) 

私はこのために何かハックします。

+0

あなたの 'url'とはどこが' redirect_to'なのでしょうか? – hgsongra

答えて

1

私はこれらの3つのソリューションのいずれかがあなたのために働くはずだと信じていますが、あなたが何をしているのかを正確に伝えるのは少し難しいです。

これは基本的に記事の記事を切り替えて、URLのワイルドカード値を保持します。すなわち/小説/ハローワールドは

get '/stories/*name', to: redirect('/articles/%{name}', status: 302)

またはあなたが

get '/stories/*name', to: redirect('/articles/stories/%{name}', status: 302) 

またはあなたが合格したいされている場合は、全体'/stories/*name'元のURLを渡したい場合は/記事/ハロー世界になるだろうクエリ文字列としてワイルドカードを使用すると、このようにすることができます

get '/stories/*name', to: redirect('/articles/?name=%{name}', status: 302) 

例はドキュメントにあります。私は3.113.12を組み合わせました。

関連する問題