加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 19:48:06 所属栏目:百科 来源:网络整理
导读:我的应用程序标题中有一个搜索表单,我想使用这个搜索表单来搜索应用程序中的多个模型. 例如像/ search?q = rails这样的请求可以通过Work,Project,User及其定义的属性等多个模型来触发搜索.我想使用Ransack,因为我已经在应用程序的不同区域使用了Work模型.
我的应用程序标题中有一个搜索表单,我想使用这个搜索表单来搜索应用程序中的多个模型.

例如像/ search?q = rails这样的请求可以通过Work,Project,User及其定义的属性等多个模型来触发搜索.我想使用Ransack,因为我已经在应用程序的不同区域使用了Work模型.

我想我不太明白Ransack,而且文档总是指出你必须定义@q = MyModel.search(params [:q]),以@@的形式使用它.有没有一种方法可以提前定义一个特定的模型?并传入参数名称,如search_form_for:q?

解决方法

好的,在提出问题后,答案突然出现在我的脑海里.

而不是search_form_for帮助器,我现在只需要使用form_tag帮助器,方法如下:

<%= form_tag search_path,method: :get do %>
  <%= text_field_tag :q,nil %>
<%= 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

这对我有用我希望这也能帮助别人.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读