【问题标题】:Rails: Ransack and dates and columns on other tablesRails: Ransack 和其他表上的日期和列
【发布时间】:2014-05-07 00:50:57
【问题描述】:

我在我的 RoR 应用程序中使用 Ransack,到目前为止,我使用它的大部分方式都很简单。但我现在有两个 Ransack 问题需要帮助。

  1. 我正在尝试在我的保留表上搜索日期。 hold 表有两个日期字段。低日期和高日期。我的 hold.coffee 文件中有以下 jQuery 代码,用于 jQuery 日期选择器,以确保日期格式为 mm/dd/yy 格式。以下是 lowdate 的示例,但我还有一个 highdate 的示例。

    jQuery -> $(document).on "page:change", -> $("#lowdate").datepicker 更改月份:真 更改年份:真 日期格式:“月/日/年” 年份范围:“-5:+10”

日期似乎在搜索条件中以 mm/dd/yy 格式传递,我认为它需要采用 yy-mm-dd 格式。但不确定如何为搜索执行此操作。

我的 index.html.erb 文件中的搜索代码:

<%= search_form_for @search do |f| %>
  <div class="span2 input">
    <% f.label :holdfrom_gteq %>
    <%= f.text_field :holdfrom_gteq, placeholder: "Low Date", id: "lowdate" %>
  </div>
  <div class="span2 input">
    <% f.label :holdto_lteq %>
    <%= f.text_field :holdto_lteq, placeholder: "High Date", id: "highdate" %>
  </div>
  <div class="span1">
    <%= f.submit "Search", name: nil, class: "btn-small btn-primary"%>
  </div>
<% end %>

这是在我的日志文件中:

Parameters: {"utf8"=>"√", "q"=>{"holdfrom_gteq"=>"05/25/2014", "holdto_lteq"=>"05/31/2014"}}
  1. 我的下一个问题是搜索不在当前表中的项目。例如,我的保留表有一个 customer_id 将保留链接到客户。我希望能够搜索 customer_name(customers 表中的字段),但不知道该怎么做,因为 customer_name 不是 hold 表的一部分。

对于上述两个问题可以提供的任何帮助将不胜感激。对 Rails 来说仍然相对较新,并且仍在学习。我确实观看了 Ransack 的 railscast #370,但它没有涉及上述两项中的任何一项。

【问题讨论】:

  • 有人能帮忙吗?仍在努力让它发挥作用。
  • 非常感谢您对此的一些意见,因为我仍然无法让它工作,就像我使用常规日期输入字段一样。

标签: ruby-on-rails ransack


【解决方案1】:

好的,最终这个问题的答案并不像我想象的那么难。 由于我在hold 和customer 之间有关系,一个客户可以有很多hold,那么我需要做的就是在搜索变量前面加上模型名称。

所以,如果我想搜索客户名称,我会使用类似这样的变量:

customer_first_name_cont

不记得日期的确切问题是什么,但它们也可以正常工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-12-06
    • 1970-01-01
    • 2012-11-07
    • 2019-07-10
    • 1970-01-01
    • 2020-01-19
    • 1970-01-01
    • 2019-03-03
    相关资源
    最近更新 更多