首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Ransack搜索标签

使用Ransack搜索标签
EN

Stack Overflow用户
提问于 2012-08-05 21:27:33
回答 2查看 1.6K关注 0票数 5

我正在使用Ransack在一些模型中执行相当复杂的搜索。其中一个模型保存自由文本,并使用acts_as_taggable gem标记单词。

我正在尝试为这些单词创建一个集合选择器,这样ransack就可以从用户可以定义的标记子集中找到任何全文记录。

这使我几乎可以做到这一点,但是如果我尝试选择多个单词,则不会返回任何结果!

代码语言:javascript
复制
= f.select :note_in, @freetexts.tag_counts_on(:tags), {}, {:multiple => true}
EN

回答 2

Stack Overflow用户

发布于 2013-12-18 14:12:21

Ransack并不是真正面向复杂的搜索。如果你足够强调ransack,你很可能会遇到一个更难的问题,如果你在做一个复杂的select操作。

对于复杂的搜索,我会重新评论Sequel,它来自于ransack的同一作者,并且更适合于复杂的搜索。

此外,根据这些线程,您走进了死胡同:Ransack and acts-as-taggable-on issues

票数 0
EN

Stack Overflow用户

发布于 2015-05-29 01:23:32

我根本不是专家,但这个非ransack解决方案可以用于那些需要使用gem上的acts as-taggable-on标签来过滤标签的人:

代码语言:javascript
复制
@search = MyModel.ransack(params[:q])
@result = @search.result(distinct: true).includes(:related_model)
@result = @result.tagged_with(params[:tags].split(/\s*,\s*/)) if params[:tags].present?
@result = @result.paginate(page: params[:page], per_page: 20)

这需要一个新的:tag参数,该参数超出了Ransack的范围。你可以用来过滤掉Ransack给你的结果。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11816826

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档