Rails:使用link_to(链接)而不是复选框过滤内容

时间:2012-11-14 09:20:42

标签: ruby-on-rails ruby-on-rails-3

我想根据标签过滤我的内容。我宁愿使用链接而不是复选框表单,根据用户检查的标签过滤内容。我目前使用以下代码生成链接:

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

这会创建格式为?tag=15

的网址

这可以显示tag = 15的所有内容,但用户应该能够选择多个标签。

当用户点击第二个过滤器链接时,新标记应附加到标记参数,现在应显示包含这两个标记的内容。基本上,我想生成看起来像这样的网址:

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

甚至可以在link_to中将标签param指定为数组吗?如果是这样,我如何将后续标签附加到网址的末尾?有没有更好的方法通过链接完成过滤?

1 个答案:

答案 0 :(得分:1)

我会创建这样的链接:

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

然后在控制器中使用

@tags = params[:tags].split(',')