当我在带有许多参数的 Rails 3.0.7 应用程序中使用 link_to 助手时,它会生成一个按字典顺序排序的 url,这可能在 Activesupport 文档中的 Hash 的 to_param 方法中提到。例如
link_to "my Link", {:u=>"user", :q=>"some query", :page=>"4"}
生成
"/search?page=4&q=some+query&u=user"
但我想要的是
"/search?u=user&q=some+query&page=4"
任何人都可以按照链接到或 url_for 的参数哈希中提供的方式进行自定义排序吗?
除非我遗漏了什么,否则这似乎与 link_to 文档中给出的示例相矛盾(ri link_to
或者在文件中)/gems/actionpack-3.0.7/lib/action_view/helpers/url_helper.rb:215
# link_to "Nonsense search", searches_path(:foo => "bar", :baz => "quux")
# # => <a href="/searches?foo=bar&baz=quux">Nonsense search</a>
当然,我可以像手动创建 URL
link_to "my Link", "/search?u=#{user}&q=#{query}&page=#{page}"
但这将缺少“Rails 方式”,并且在转义某些字符方面存在一些问题,因此将是最后一个选择。