通过删除repitition / clients来格式化Rails查询字符串?ids [] = 1& ids [] = 2& ids [] = 3

时间:2012-01-06 00:15:57

标签: ruby-on-rails-3 ruby-on-rails-3.1

在Rails 3.1中,您将如何使查询字符串看起来更清晰,更易读。

例如,查询字符串中具有多个参数的键的Rails默认值如下所示: /客户端的ID [] = 1&安培; IDS [] = 2及IDS [] = 3

我希望它看起来像: /客户端?IDS = 1,2,3
甚至是 ?/客户端的ID = 1 | 2 | 3

ID由一系列链接控制,这些链接充当过滤器,用于选择一个或多个选项以过滤某些搜索结果。

最好的方法是什么?

1 个答案:

答案 0 :(得分:1)

自动执行此操作的唯一方法是使用Rack或Rails中的monkeypatching。你应该避免这样做,因为它会导致比它解决的更多问题。

如果您有一个嵌入|,的字符串,那么您可能会错误地转换数据。或者,如果您只有一个条目,例如ids=1,则无法将其转换为内部只有1的数组。

当您需要传递需要清理的数组时,最好手动执行此操作。在这种情况下,您只需在将ids.join(",")传递给路由器方法时调用params[:ids].split(","),然后{{1}}将数组传回。