【发布时间】:2016-02-23 14:33:03
【问题描述】:
快速提问。
我正在尝试使用 Acts-As-Taggable gem 同时搜索多个标签。诀窍是,我想搜索包含至少一个标签的任何帖子。我已经部分弄清楚了。
如果在我的歌曲控制器中我放了
if params[:tag]
@songs = Song.tagged_with(["Hip-Hop-3, Hip-Hop-5"], :any => true)
elsif...
它将找到包含一个或多个标签的所有帖子。
问题是,当我想将这些参数移动到 ERB link_to 中时
这是我的控制器:
if params[:tag]
@songs = Song.tagged_with(params[:tag], :any => true).order("created_at DESC").paginate(:page => params[:page], :per_page => 36)
elsif
这是我的链接
<%= link_to "House", tag_path(["Hip-Hop-5","Hip-Hop-3"]) %>
在这种情况下,URL 是相同的,http://localhost:3000/tags/Hip-Hop-5/Hip-Hop-3,但它不像之前的方法那样显示任何帖子。
我的参数有问题吗?
或
有没有办法让 tagged_with 方法搜索包含某些字符的标签。那么找到包含“Hip-Hop”这个词的标签呢?谢谢!
谢谢,
马特
【问题讨论】:
-
那个网址让我眼睛疼。像localhost:3000/songs&style=house 这样的东西不是更好吗?然后您可以在控制器(或模型,取决于设计)中映射 params["style"=>"house"] 以获取 'Hip-Hop-5' 和 'Hip-Hop-3'。
-
嘿 jvillian,我完全同意标签真的很乱。我只是想让它先工作,然后我会解决它。好建议!
标签: ruby-on-rails acts-as-taggable-on