gpt4 book ai didi

ruby-on-rails - 使用 Ransack 一次搜索多个模型

转载 作者:数据小太阳 更新时间:2023-10-29 06:34:07 34 4
gpt4 key购买 nike

我的应用程序标题中有一个搜索表单,我想使用此搜索表单在应用程序中搜索多个模型。

例如,像 /search?q=rails 这样的请求应该触发对多个模型的搜索,如 WorkProject用户 及其定义的属性。我想使用 Ransack,因为我已经在应用程序不同区域的 Work 模型上使用了它。

我想我还不太了解 Ransack,文档总是指出您必须定义 @q = MyModel.search(params[:q]) 才能在表单中使用它search_form_for @q。有没有一种方法可以让您不必提前定义特定模型?只需传入参数名称,如 search_form_for :q?

最佳答案

好吧,在问完问题后,我的脑海里浮现出答案。

我现在只使用 form_tag 助手,而不是 search_form_for 助手,方法如下:

<%= form_tag search_path, method: :get do %>
<%= text_field_tag :q, params[:q] %>
<%= end %>

在搜索操作中我只是这样做:

q = params[:q]
@works = Work.search(name_cont: q).result
@projects = Project.search(name_cont: q).result
@users = User.search(name_cont: q).result

这对我有用。我希望这也能帮助其他人。

关于ruby-on-rails - 使用 Ransack 一次搜索多个模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16775207/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com