0

タグに基づいてコンテンツをフィルタリングしたい。ユーザーがチェックしたタグに基づいてコンテンツをフィルタリングするチェックボックスフォームの代わりに、リンクを使用したいと思います。私は現在、以下のコードを使用してリンクを生成しています。

link_to tag.name, user_path(tags: tag.id)

これにより、次の形式のURLが作成されます?tag=15

これは、tag = 15のすべてのコンテンツを表示するために機能しますが、ユーザーは複数のタグを選択できる必要があります。

ユーザーが2番目のフィルターリンクをクリックすると、新しいタグがタグパラメーターに追加され、両方のタグを含むコンテンツが表示されます。基本的に、次のようなURLを生成したいと思います。

?tag[]=15&tag[]=1

link_toでタグパラメータを配列として指定することも可能ですか?もしそうなら、どうすればURLの最後に後続のタグを追加できますか?リンクを介したフィルタリングを実現するためのより良い方法はありますか?

4

1 に答える 1

1

次のようなリンクを作成します。

link_to tag.name, user_path(tags: "#{params[:tags]},#{tag.id})

そして、コントローラーで使用します

@tags = params[:tags].split(',')
于 2012-11-14T11:25:17.963 に答える