正在清理 URL

Cleaning up URL

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

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。

"Cleaning" 搜索 URL 绝对是棘手的。搜索参数可以包含空格或其他字符,包括斜杠,它们可能与 Rails 路由甚至 URI RFC 规范冲突。

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

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

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