红宝石在轨道上
快速提问。
我试图使用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
<%= link_to "House", tag_path(["Hip-Hop-5","Hip-Hop-3"]) %>
在这种情况下,URL是相同的,http:// localhost:3000 / tags / Hip-Hop-5 / Hip-Hop-3,但它并不像前面的方法那样显示任何帖子。
我的参数有问题吗?
要么
有没有一种方法可以让tagged_with方法搜索包含某些字符的标签。 那么找到包含单词“嘻哈”的标签呢? 谢谢!
谢谢,
马特
您需要修改网址,如下所示:
<%= link_to "House", tag_path(tag: ["Hip-Hop-5","Hip-Hop-3"]) %>
我相信控制器将无法按照您的链接查找params [:tag],因为它不会作为散列传递给方法tag_path,使用tag: params[:tag]
应该确保tag: params[:tag]
正确赋值。标签]到您传递的参数。
上一篇: ruby on rails