2012-03-07 62 views
1

我有如下途徑InvalidURIError:URI ::在軌道上的路由重定向在我的routes.rb

get '/merchandises/:cat/:id' => redirect('/products/%{id}') 

此重定向的工作,但如果帕拉姆ID包含一些角色,我得到的錯誤這樣的例子:

Started GET "/merchandises/perfumes/Drakkar%20Noir%20Eau%20De%20Toilette" for 127.0.0.1 at 2012-03-07 23:21:28 +0100 

URI::InvalidURIError (bad URI(is not URI?): /products/Drakkar Noir Eau De Toilette) 

有人可以告訴我如何解決這個問題?

回答

5

好吧,我已經找到了解決辦法:

get '/merchandises/:cat/:id' => redirect { |params, req| "/products/#{URI.escape(params[:id])}" }