我想根据标签过滤我的内容。我宁愿使用链接而不是复选框表单,根据用户检查的标签过滤内容。我目前使用以下代码生成链接:
link_to tag.name, user_path(tags: tag.id)
这会创建格式为?tag=15
这可以显示tag = 15的所有内容,但用户应该能够选择多个标签。
当用户点击第二个过滤器链接时,新标记应附加到标记参数,现在应显示包含这两个标记的内容。基本上,我想生成看起来像这样的网址:
?tag[]=15&tag[]=1
甚至可以在link_to中将标签param指定为数组吗?如果是这样,我如何将后续标签附加到网址的末尾?有没有更好的方法通过链接完成过滤?
答案 0 :(得分:1)
我会创建这样的链接:
link_to tag.name, user_path(tags: "#{params[:tags]},#{tag.id})
然后在控制器中使用
@tags = params[:tags].split(',')