ruby 应用搜索日期字段筛选器后,相同的输出票证重复而不是一个

x8diyxa7  于 2023-02-03  发布在  Ruby
关注(0)|答案(1)|浏览(130)

当前结果:在截止日期过滤器中,将第一个框视为"开始日期",第二个框视为"结束日期",在应用过滤器时,相同的票证重复预期结果:截止日期过滤器应正常工作,并在应用过滤器票证不应重复查看:-

<div>
        <div class="row">
          <div class="col">
            <label>Deadline Date</label>
            <div class="d-flex">
              <%= f.date_field :developers_deadline_date_gteq, class:"fa fa-calendar form-control", id: "todate-form" %>
              <%= image_tag("datepickerArrow.svg", alt: "image is not loaded", class:"date-img") %>
              <%= f.date_field :developers_deadline_date_lteq, class:"fa fa-calendar form-control", id: "fromdate-form" %>
            </div>
          </div>
        </div>
      </div>

控制器:-

@q = ClientRequest.with_resource_info_and_developer.page(params[:page]).per(params[:per_page]).ransack(params[:q])
@client_requests = @q.result

我做错了什么,我怀疑这和我传递参数给Ransack的方式有关,但是我不明白为什么它不起作用。
任何帮助都很感激。

twh00eeo

twh00eeo1#

数据库联接可能导致重复结果,具体取决于两个表之间的关系类型和运行的条件。
只需将distinct添加到查询中,告诉Ruby on Rails只返回唯一的记录:

@q = ClientRequest
       .with_resource_info_and_developer
       .page(params[:page])
       .per(params[:per_page])
       .ransack(params[:q])
       .distinct

相关问题