【问题标题】:Rewrite Rails response URL重写 Rails 响应 URL
【发布时间】:2015-06-03 22:39:59
【问题描述】:

我看到this

我做了params.select!{|k, v| v.present?} 清理空白参数,但我不知道如何清理响应 URL。

我继续收到类似http://localhost:3000/restaurants/search?utf8=%E2%9C%93&city=&cuisine=&number_of_people=&query=hello 的东西

我在找http://localhost:3000/restaurants/search?utf8=%E2%9C%93&query=hello

另外,我会删除 utf8 参数,这样不好吗?

更新

我正在考虑使用 JavaScript 解决方案,但我认为这应该在服务器上:

$('form').submit(function(e){
  e.preventDefault();
  // clean params, anyway is hard for me to figure this part out
  $(this).submit();
})

【问题讨论】:

  • 我认为您必须重定向到相同的 URL,但使用过滤参数。因此,可能会检查过滤参数是否实际上省略了任何内容,如果是,则使用过滤后的参数重定向到相同的 URL。
  • 您是否正在重定向用户?我不明白你想在哪里重写 url。
  • 我在想重定向不是我想要的,我想重写响应 URL 而不发出第二个请求。重定向会发出第二个请求,对吧?
  • 所有这些都是为 SEO 设置link rel='next/prev',也许我把事情复杂化了,我应该留下空白参数,你怎么看?

标签: ruby-on-rails rack actioncontroller


【解决方案1】:

我的解决方案是禁用空白输入并选择:

$('form').submit (e) ->
  $(@).find('select,input').map( (i, e) -> e.disabled = !$(e).val() )

关于删除utf8 我找到了this。所以我最好继续发送它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-12-20
    • 1970-01-01
    • 2017-11-22
    • 2011-01-17
    • 1970-01-01
    • 2011-04-16
    • 2015-12-09
    • 2017-06-30
    相关资源
    最近更新 更多