item/?category_id[]=1&category_id[]=2&category_id[]=3 のような href でリンクをフォーマットする必要があります。これはファセット検索用です。
link_to "Super Categories", params.merge(category_id: [1,2,3])
しかし、期待される結果に到達できません。角かっこは、GET 要求で配列を作成する代わりにエンコードされます。
item/?category_id[]=1&category_id[]=2&category_id[]=3 のような href でリンクをフォーマットする必要があります。これはファセット検索用です。
link_to "Super Categories", params.merge(category_id: [1,2,3])
しかし、期待される結果に到達できません。角かっこは、GET 要求で配列を作成する代わりにエンコードされます。
あなたの見解に以下がある場合
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]