【问题标题】:Cleaning up URL清理网址
【发布时间】:2015-11-09 17:59:35
【问题描述】:

我安装了friendly_id 来清理模型网址,但我的网站上有一个搜索功能,但我不确定如何最好地清理它。这是我的搜索网址的样子:

http://localhost:3000/s?utf8=%E2%9C%93&s%5Blocation%5D=Paris%2C+France&s%5Bactivity%5D=6&s%5Bstart_time%5D=Aug+3rd+2015%2C+3%3A00+am&s%5Bend_time%5D=Aug+17th+2015%2C+4%3A00+am&s%5Bgeo%5D=%5B48.856614%2C2.3522219000000177%5D

想知道是否有什么我可以做的,因为搜索与模型没有关联,所以我不能使用friendly_id。

【问题讨论】:

  • 您要删除哪些部分?制作漂亮 URL 的最简单方法就是让搜索表单执行 POST,而不是 GET,但这有其自身的一系列问题。

标签: ruby-on-rails ruby ruby-on-rails-4 friendly-url friendly-id


【解决方案1】:

“清理”搜索 URL 绝对是一件棘手的事情。搜索参数可以包含空格或其他字符,包括斜杠,这可能与 Rails 路由甚至 URI RFC 规范冲突。

这就是为什么尝试为搜索参数实现友好的 URL 是浪费时间的原因。甚至没有真正的需要。

友好的 URL 通常在用户可读性和营销(例如 SEO)方面很有用。这些优势都不适用于搜索表单。

一个快速的选择可能是将搜索表单从使用 GET 参数更改为 POST(但您将无法将搜索链接传递给其他人)。

【讨论】:

  • 而且您无法将搜索结果添加到收藏夹。
  • 所以基本上,放手吧,不值得麻烦
  • @SimoneCarletti 听起来不错。无论如何,这并不是什么大问题。 reddit 上有人建议我创建一个搜索模型并返回 id,但创建一个表来存储每个新搜索对我来说听起来很愚蠢。
猜你喜欢
  • 2018-12-23
  • 2021-01-12
  • 1970-01-01
  • 1970-01-01
  • 2016-12-06
  • 1970-01-01
  • 1970-01-01
  • 2012-07-31
  • 2018-07-23
相关资源
最近更新 更多