在相关模型中搜索适当的搜索过滤器

时间:2014-04-16 18:29:52

标签: ruby-on-rails search ruby-on-rails-4 associations ransack

我有2个模型UniversityCourse。两者之间存在着很多关系。

我在University模型上使用Ranstack进行搜索查询,如下所示:

<%= search_form_for @search do |f| %>
  <div class="field">
    <%= f.label :title_cont, "University name" %>
    <%= f.text_field :title_cont %>
  </div>
  <div class="field">
    <%= f.label :courses_course_type_in, "Course type" %>
    <%= f.select :courses_course_type_in,  Course.course_type.options, {} %>
  </div>
<% end %>

在我的控制器中我有:

@search = University.search(params[:q])
@universities = @search.result

:courses_course_type_in在查询中得到了很好的理解,因为我只获得提供特定类型课程的大学(让我们说研究生课程)。

但另一方面,当我来展示课程时,@ Universities.courses包含所有类型的所有课程(毕业,录取,证书,继续教育......)。

是否有一种简单的方法(最好是在洗劫中)只能获得@ university.courses中的通缉课程? (在这种情况下毕业)

谢谢!

1 个答案:

答案 0 :(得分:0)

您尝试过:

<%= f.select :courses_course_type_eq,  Course.all.collect{|c| [c.course_type, c.course_type]} %>