2

item/?category_id[]=1&category_id[]=2&category_id[]=3 のような href でリンクをフォーマットする必要があります。これはファセット検索用です。

link_to "Super Categories", params.merge(category_id: [1,2,3])

しかし、期待される結果に到達できません。角かっこは、GET 要求で配列を作成する代わりにエンコードされます。

4

1 に答える 1

3

あなたの見解に以下がある場合

link_to "Super Categories", params.merge(category_id: [1,2,3])

category_idクエリ文字列の部分は次のようになります

?category_id%5B%5D=1&category_id%5B%5D=2&category_id%5B%5D=3

これらのエンコードされた括弧には問題はありません。Rails がGETリクエストを受け取ると、params[:category_id]再び になります["1","2","3"]。これを整数値に簡単に変換できます

params[:category_id].map(&:to_i) # [1,2,3]
于 2013-01-30T16:10:24.073 に答える