问题标签 [ransack]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
763 浏览

ruby-on-rails-3.1 - Rails - 我可以同时使用 Ransack 和 CanCan 吗?

我正在尝试根据用户的授权获取搜索结果...

0 投票
2 回答
2694 浏览

ruby-on-rails - Rails - Ransack - 自定义属性选择

我在ransackRails 应用程序中使用 gem 进行高级搜索。如何过滤该attribute_select方法以不显示某些字段,例如idandcreated_at等。

我上面的当前方法只是列出了所有属性。

0 投票
4 回答
9109 浏览

ruby-on-rails - 在 Ransack 上为 Rails 设置默认搜索参数

我一直在为此绞尽脑汁,但无法理解。我觉得答案可能很明显。

我想要做的是以下几点:

我有一个索引控制器,其中列出了我可以使用 Ransack 搜索的一系列作业。每个作业都有一个完成日期,其中有一个日期或为空(未完成)。目前,搜索本身效果很好。我想让它加载索引页面只显示未完成的工作,但我也希望它能够工作,以便当有人运行搜索时,返回已完成和未完成工作的结果。

任何帮助将不胜感激。在下面的代码中,:actual是带有完成日期的字段的名称。我也在网上四处寻找,并认为可能像DEFAULT_SEARCH_PARAMETER={}我在 Job 模型中拥有的东西可能会起作用,但我似乎无法做到。这是代码:

0 投票
3 回答
3126 浏览

ruby-on-rails - 使用 Ransack 搜索多个字段

我正在使用 Ransack 允许对我的用户进行高级搜索。目前,用户有first_namemiddle_namelast_name列。这是我的代码:

我怎样才能有一个名为“名称”的自定义项,让用户搜索上述所有三个列?

请注意 ,我仍然希望将其余属性也保留为选项,例如电子邮件、电话号码等。在确定答案时请记住这一点。

0 投票
1 回答
611 浏览

ruby-on-rails - ransack 搜索 text_field 中的每个单词

我将在我的 Rails 应用程序中按名字和姓氏搜索用户。在 firstname 的一个 text_field 和 lastname 的一个 text_field 中,应用程序用户应该可以搜索姓名的多个部分。

例如,用户将输入“Thomas Jeffrey”,这将导致:

如果我使用 firstname_cont,结果如下所示:

当我尝试 firstname_cont_all 时,我得到了一些不同的东西。

谢谢你的任何提示。

0 投票
1 回答
801 浏览

ruby-on-rails - 基于条件的值

我在我的 Rails 应用程序中使用 Ransack gem,效果很好。我当前的问题是验证。这本质上是一个两部分的问题。

如何根据条件向值字段添加验证。IE 如果 Year 是选定属性,如何将值文本框更改为带有年份列表的选择框?

还有自定义的东西,例如,如果条件设置为“国会区”,我需要能够检查该值是否只有 3 个字符长,前两个是州缩写。

0 投票
1 回答
566 浏览

ruby-on-rails - Rails - Ransack - 重新排序属性

我在我的 Rails 应用程序中使用 Ransack gem。它按预期工作,但是如何在属性选择的下拉框中重新排序属性列表?对我来说不幸的是,用户的“姓名”在列表的底部附近,而理想情况下它会在顶部。

以上是我当前的属性选择,现在它列出了所有用户属性,然后是每个关联的属性。在我的模型中,我使用以下内容过滤掉一些属性。

0 投票
2 回答
9863 浏览

ruby - 如何设置洗劫排序的默认值?

简而言之,我只想知道是否有办法使用 Ransack gem 为排序功能设置默认值?IE。

目前,页面加载时我有以下内容:

empty_ransack

但相反,我希望在页面加载时具有以下默认值:

用默认值进行洗劫

是否可以通过正确配置 Ransack Gem 来做到这一点?

一如既往地提前感谢!

最好的祝福!

0 投票
1 回答
3188 浏览

sql - Rails,Ransack:如何在 HABTM 关系中搜索“所有”匹配项而不是“任何”匹配项

我想知道是否有人有使用 Ransack 与 HABTM 关系的经验。我的应用程序photos与之有 habtm 关系terms(术语就像标签)。这是对我所经历的事情的简化解释:

我有两张照片:照片 1 和照片 2。它们具有以下术语:

照片1:A、B、C

照片 2:A、B、D

我构建了一个搜索表单,并在搜索表单中为所有术语添加了复选框,如下所示:

如果我使用:q[terms_id_in][]并且我检查“A,C”,我的结果是照片 1 和照片 2。我只想要照片 1,因为我要求 A 和 C,在这个查询中我不关心 B 或 D,但我想要A 和 C 都出现在给定的结果中。

如果我使用q[terms_id_in_all][]我的结果为零,因为两张照片都只包含 A 和 C。或者,也许因为每次连接只有一个术语,所以没有连接匹配 A 和 C。无论如何,我只想返回照片 1。

如果我使用任何品种,q[terms_id_eq][]我永远不会得到任何结果,所以我认为这在这种情况下不起作用。

那么,给定一个 habtm 连接,您如何搜索与给定值匹配的模型,同时忽略未给定的值?

或者,对于任何不熟悉 Ransack 的 rails/sql 专家,您还可以如何创建一个搜索表单,就像我为具有 habtm 连接的模型所描述的那样?


更新:根据相关问题的答案,我现在已经构建了一个正确匹配的 Arel 查询。不知何故,您应该能够将 Arel 节点用作洗劫者,或者正如 cdesrosiers 指出的那样,用作自定义谓词,但到目前为止,我还没有做到这一点。

根据该答案,我设置了以下 ransack 初始化程序:

...然后在照片上设置以下方法:

不幸的是,这似乎不起作用。虽然terms_subquery产生了正确的 SQL,但结果Photo.search(:has_terms => [2,5]).result.to_sql只是"SELECT \"photos\".* FROM \"photos\" "

0 投票
1 回答
378 浏览

ruby-on-rails-3 - 洗劫宝石铁轨 3

我一直在使用 gem ransack。我已经在我的 gemfile 中放置了 ransack,然后运行 ​​bundle install (虽然我只使用了 bundle,但这有什么不同吗?我认为没有?)

接下来我把它放在我的食谱控制器中

在我看来(all_recipes)我有搜索表单和块来显示我的结果

我有两个问题,甚至没有进行搜索我在我看来这个块在哪里

然后,如果我搜索说 las,它会在获取请求后将我重定向到我的索引页面,但由于我没有阻止显示结果,我得到一个未定义的错误,这是预期的。

在此之后,我将我的控制器代码放在索引操作中,并将表单和块放在索引视图中,现在一切正常了吗?为什么我不能使用 all_recipes 操作,为什么它会重定向?