2013-10-09 36 views
0

需要能够生成以下URL字符串的link_to传递查询参数

http://localhost:3000/admin/cities?q%5Bprovince_id_eq%5D=1&commit=Filter&order=city_name_asc 

,这怎样的link_to需要设置?

link_to(p.cities.count, admin_cities_path) 

回答

2

你可以只通过查询参数作为哈希的URL帮手,例如在我的控制台中运行以下命令,我得到以下散列:

url = "http://localhost:3000/admin/cities?q%5Bprovince_id_eq%5D=1&commit=Filter&order=city_name_asc"  
query = URI.parse(url).query 
hash = Rack::Utils.parse_nested_query(query) 
#=> { "q" => { "province_id_eq" => "1" }, "commit" => "Filter", "order" => "city_name_asc" } 

然后,你只是做

admin_cities_url(hash) 

要回到原来的URL。

1

可能this会帮助你,把后一看“的link_to也可以产生与锚或查询字符串链接”

link_to(p.cities.count, admin_cities_path(q: { province_id_eq: 1 }, order: "city_name_asc"))