【问题标题】:URI::InvalidURIError on rails routing redirectRails 路由重定向上的 URI::InvalidURIError
【发布时间】:2012-03-07 22:24:44
【问题描述】:

在我的 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)

谁能告诉我如何解决这个问题?

【问题讨论】:

    标签: ruby-on-rails routes invalid-url


    【解决方案1】:

    好的,我找到了解决方案:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多