问题标签 [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 投票
1 回答
3765 浏览

ruby-on-rails-3 - Rails 3 - Ransack - check_box_tag

我正在尝试使用带有复选框的 Ransack 实现搜索;在用户检查选定区域的地方,搜索返回选定区域的所有列表。

控制台输出:

只是不确定如何实现它以接受多个复选框值。

0 投票
0 回答
650 浏览

ruby-on-rails-3 - 自定义 ransacker 返回错误 - []:ActiveRecord::Relation 的未定义方法 `gsub'

我在我的 Rails 3.2.11 应用程序中使用 Ransack 并且喜欢它。我目前正在搜索与给定高中匹配的个人资料,如下所示:

但是,我想为此添加一些额外的逻辑,并进一步将搜索细化为个人资料,以允许其他用户通过他们的高中找到他们。

所以我想知道除了个人资料的 :high_school 是否包含某些文本之外,是否还有一种方法可以检查个人资料的 :show_high_school 是否为真。

在四处逛逛(特别是这里这里)之后,我尝试了以下自定义 ransacker:

我将它添加到了拥有一个配置文件的用户模型和属于用户的配置文件模型。在每种情况下,我都会收到一个错误:

在 Profile.rb 中定义时,我收到以下错误:

我的数据库是 PostgreSQL

0 投票
1 回答
2369 浏览

ruby-on-rails - 如何将 Ransack 搜索保存到数据库?

我正在尝试将 Ransack 搜索保存到数据库中。我相信我应该能够只存储该params[:q]值,然后在我想召回搜索时将其附加到搜索 URL。不过,我不知道如何保存params[:q]价值。

Ransack 创建的 URL 是这样的:

我将保存搜索的操作的路线是:

如果我在视图中使用此代码:

在控制器中使用此代码:

那么存储的数据是:

所以,我需要在数据进入数据库时​​以某种方式对其进行格式化(也许在它出来的时候?)......我读过一些关于序列化它的东西,但我没有太多运气让它工作。

我怎样才能params[:q]进入我的数据库,以便以后重新创建完整的搜索 URL?

0 投票
1 回答
2714 浏览

ruby-on-rails-3 - Rails 3 使用 ransack 搜索和排序并尝试限制排序选择中的选项

我的 Rails 应用程序中有一个页面,显示列表列表(使用 will_paginate 分页)。我正在尝试找到一个好的 gem 来实现使用此页面上的列表进行搜索和排序。Ransack gem 看起来像我需要的,但我遇到了问题。这就是我的代码现在使用 Ransack gem 的样子。

我的模型(不包括整个模型,不希望验证和额外代码妨碍):

我的控制器动作:

我在页面上的搜索表单:

我的路线:

有了我现在所拥有的一切,我已经能够让应用程序成功搜索和排序列表。

我的问题:sort_select字段显示“可洗劫”的所有选项。有没有办法让一个属性可用于搜索,但不能用于排序?例如,我希望能够搜索description属性,但在排序中包含该属性没有任何意义。我如何在一个而不是另一个中使用一个属性?感谢您的帮助,如果我的问题不够清楚,请告诉我。

0 投票
0 回答
704 浏览

ruby-on-rails - Ruby RoR,Ransack,多选查询失败

使用 ransack gem 我已经看到应该可以使用具有多项选择的表单。

使用我使用的选择表单的基本 html,然后选择两个选项,我可以尝试搜索任一值

也试过

与所有谓词“等于任何”、“包含任何”等的组合,

我得到结果

任何想法,链接https://github.com/ernie/ransack/issues/7说它可能,但我似乎没有得到正确的结果。

0 投票
1 回答
1193 浏览

ruby-on-rails - Ransack 不适用于多态列类型(未初始化的常量)

我已经按照http://railscasts.com/episodes/370-ransack?view=asciicast设置了 Ransack,并且使用 orders#index 控制器搜索 Orders 表中的大多数列都可以正常工作。

但是,它不会搜索 orderable_type 或 orderable_id,这两列存储与其他模型的多态关联。有谁知道为什么,或者如何解决这个问题?

模型:

控制器:

看法:

我收到的错误是:

未初始化的常量 Order::Orderable 提取的源代码(大约第 13 行):

10:= f.text_field:location_place_matches 11:.field 12:= f.label:orderable_type_matches,“类型”13:= f.text_field:orderable_type_matches 14:.field 15:= f.label:created_at_gteq,“创建于”16 : = f.text_field :created_at_gteq, '数据行为' => 'datepicker'

对于我的生活,我不明白为什么它对待 orderable_type 与所有其他列不同 - 任何人都可以帮忙解决吗?

0 投票
1 回答
283 浏览

ruby-on-rails-3 - 从 Ransack Gem Rails 3 中获取搜索参数

我正在为 Rails3 使用 Ransack Search Gem。有没有办法获取用户在搜索框中输入的搜索参数?

如有必要,我想在我的视图中提供它。

谢谢!

0 投票
1 回答
2300 浏览

ruby-on-rails - RoR Ransack 搜索问题

我有两个不同的控制器(scholarships_controller、scholarships_browse_controller)来查看奖学金模型。我希望我的 Ransack 搜索功能在当前页面上显示搜索结果。因此,例如,如果我在 /scholarships_browse 上并使用搜索功能,我希望它使用 Scholarships_browse_controller 并在 /scholarships_browse 上显示结果。

目前,如果我在 /scholarships_browse 上搜索,它会使用 Scholarships_controller 并重定向到 /scholarships 以显示结果(而不是 /scholarships_browse)。

ScholarshipsBrowseController 和 ScholarshipsController 的代码

结尾

奖学金浏览 index.html.erb 的代码:

所以,我想我特别想问当我在 /scholarships_browse 时,如何确保我使用的是 ScholarshipsBrowseController 索引而不是 ScholarshipsController 索引?

0 投票
1 回答
1116 浏览

ruby-on-rails - 如何在没有语言环境文件的情况下让 I18n 属性与 Ransack 一起使用?

我正在使用带有 Ransack 0.7 的 Rails 3.2 来搜索我的数据库,但在我的模型属性的显示名称方面遇到了问题。我在视图中的属性字段在标准条件字段中调用:

在模型中,我的属性字段由以下定义:

现在假设我有一个名为“用户名”的属性,在我看来它将显示为“用户名”。现在,如果我想翻译它,我需​​要将翻译放在我的标准语言环境文件中,对于我的网站的英语版本和 de.yml 将是 en.yml 和德文版本。

现在问题来了:

只要我知道我的模型及其属性,此解决方案就可以正常工作。但是我有一个非常复杂的应用程序,它允许用户创建自己的 MVC(模型、视图和控制器)并使用他自己的翻译。在每种情况下,这都可以正常工作,除了在 Ransack 搜索表单中为用户创建的 MVC 显示的名称。

因此,可能的解决方案是:

1) 每次用户创建新的 MVC 以及每次更改属性的翻译之一时,我都会找到一种方法来更新我的语言环境文件。

2) 我绕过语言环境文件并直接告诉 Ransack 或 Rails 我的属性的正确名称。

无论哪种方式,我都没有找到任何方法来做到这一点,所以如果有人有解决方案,我将不胜感激。也欢迎其他解决方案。

感谢问候!

0 投票
0 回答
1209 浏览

ruby-on-rails-3.2 - Ransack 和命名空间路由...缺少模板

当我搜索任何东西时,我总是遇到错误:

缺少模板后台/用户/搜索,使用 {:locale=>[:en], :formats=>[:html], :handlers=>[:erb, :builder, :coffee]} 的应用程序/搜索。在以下位置搜索:*“C:/RailsApps/novaxones/app/views”

我在app/models中有一个用户模型

还有一个控制器在controllers/backstage/users_controller.rb

而且routes.rb文件是

如您所见,我使用命名空间路由来拥有一个管理面板(称为后台)

index.html.erb是_

我可能遗漏或误解了某些东西,但找不到解决方法……我需要一些帮助和解释。预先感谢 干杯

编辑并解决

问题出在我的控制器的搜索操作中

从改变

现在一切都很好。

我也必须将它添加到范围中,对于那些对控制器中活动范围感兴趣的人,代码变为

并在用户模型中定义如下

希望这对其他人有帮助

干杯