7

routes.rb 内の既存の「ゲーム」ルーティングを変更したいのですが、SEO のため、古いリンクの 301 リダイレクトもセットアップする必要があります。

私の古いルーティング:

match 'games/:permalink/:id/(:page)' => 'games#show'

新しいルーティング:

match 'gierki/:permalink/(:page)' => 'games#show'

これが私がやろうとしたリダイレクトです:

match 'games/:permalink/:id/(:page)' => redirect {|params| "/gierki/#{params[:permalink]}" + params[:page].nil? ? "" : "/#{params[:page]}" }

上記のリダイレクトが機能していません。エラーは次のとおりです。

wrong number of arguments (1 for 2)
4

1 に答える 1

9

次のようにしてみてください。

match 'games/:permalink/:id/(:page)' => redirect {|params,request| "/gierki/#{params[:permalink]}" + params[:page].nil? ? "" : "/#{params[:page]}" }

そして、それが機能するかどうかを確認してください。

于 2012-05-30T11:48:19.417 に答える