【发布时间】:2011-12-16 00:03:20
【问题描述】:
我的网站上有一个搜索表单,允许用户按许多不同的方面进行搜索,例如城市、价格范围、大小等。
表单作为 GET 提交,因此表单参数位于 URL 中。
它们最终变得非常丑陋:
/searches?utf8=✓&city_region=vancouver&property_type_id=1&min_square_footage=0&max_square_footage=15000
(实际上更糟糕,因为搜索参数是模型的一部分,所以 URL 中也有很多编码的 ['s 和 ]'s)
我想做的是让表单生成如下 URL:
/searches/vancouver/office?square_footage=0-15000
其中一些参数放置在 URL 路径本身中,而其他参数则保留在查询参数中(以更易读的格式)。
在 Rails 应用程序中处理此问题的最佳方法是什么?我能想到的只是在表单提交上使用 javascript 代码来操作表单提交到的 URL。
【问题讨论】:
标签: ruby-on-rails forms