ruby-on-rails - ruby 在 rails 上。搜查搜索协会

标签 ruby-on-rails associations ransack

我在搜索表单上有点卡住了。

我需要搜索模型的关联,并在 name_cont 但仅在关联模型的 status == something 时返回结果。

我有一个 gig 模型与 has_many belongs_to 关系与 request 模型和 user 模型。 request 模型具有 status 属性,user 模型具有 publicname 属性。我想搜索 publicname_cont 并且只显示来自具有 status == "hired" 的请求的结果。

目前我的搜索带回 publicname 的结果,无论 request 模型是 status


演出 Controller :

@gigs = @q.result(distinct: false).notexpired.order(date: :asc).page(params[:page]).per(20)

搜索表单:

<%= search_form_for @q, url: welcome_index_url, remote: false do |f| %>

      <%= text_field_tag :search, params[:search], class: 'loc-search', placeholder: "Location"%>
      <%= f.search_field :locationname_cont, placeholder: "Bar name" %>
      <%= f.search_field :requests_user_publicname_cont, placeholder: "Band name" %>
      <%= f.submit %>
 <% end %>

目前,我可以搜索 requests_user_publicname_cont,它会按预期为我提供参数匹配的所有结果。 我正在寻找一种方法来搜索 requests_user_publicname_cont AND requests_status_eq, ("hired")


我不知道该怎么做,任何帮助将不胜感激,谢谢。

最佳答案

@q = Gig.joins(:requests).where(requests: { status: 'hired' }).ransack(params[:q])

关于ruby-on-rails - ruby 在 rails 上。搜查搜索协会,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38772145/

相关文章:

ruby-on-rails - 使用 .created_at 作为日期引用获取天数/周数

symfony - Doctrine 不会在我的 OneToMany 关联中保存数据

ruby-on-rails - 如何从 Rails 中的模型继承,其中一种类型在不交织的情况下扩展另一种类型

ruby-on-rails - Ransack:使用年龄而不是出生日期

ruby - ransack如何使用pg_search?

mysql - 无法访问 Rails 4.1 中的 SQL 列别名

未在集成测试中加载的 Javascript 库

javascript - 外部 gem 的 Assets 管道编码问题(UTF-8 与 ASCII-8BIT)

ruby-on-rails - "502 Bad Gateway"有乘客

r - 比较 R 中的数据集