搜索标签acts_as_taggable_on rails

时间:2012-09-12 18:31:29

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

我创建了一个应用程序,可以将广告横幅保存到数据库并使用属性标记,例如横幅的尺寸(例如300x250)。

这一切都是使用acts_as_taggable_on完成的。

现在我要做的是有一个搜索框,当用户输入维度时(例如300x250),我的页面将过滤以仅显示标有“300x250”的广告横幅(这不需要用Ajax或其他任何东西完成,搜索按钮就可以了)

我目前已安装gem Ransack进行搜索,但无法弄清楚如何将其与Acts_as_taggable_on集成。

我是否有一种简单的方法可以在我的视图中设置一个搜索框,只搜索标签并仅使用标记对象更新页面?

非常感谢您提供的任何帮助!

1 个答案:

答案 0 :(得分:0)

这很容易。我们应该为搜索行为写出正确的关联。

reflect_on_all_associationsreflections表明Banner有一个名为:taggable的关联,这会导致模型ActsAsTaggableOn :: Tagging,belongs_to ActsAsTaggableOn :: Tag

那么:

@q = Banner.ransack(taggings_tag_name_cont: 'interesting')
@banners = @q.result

当然,可以免费使用其他匹配器,例如eqin等等