【问题标题】:rails datetimepicker clearing date selected from inputrails datetimepicker 清除从输入中选择的日期
【发布时间】:2023-04-28 02:23:01
【问题描述】:

我正在使用带有 datetimepicker.js 和 bootstrap 的 ransack gem 来执行日期范围搜索。查询没问题,但是在渲染模板时,它没有在视图中保留我之前选择的日期值。

这是响应网址:

http://localhost:3000/batches?utf8=%E2%9C%93&q%5Bcost_centre_id_in%5D=&q%5Bcreated_at_gteq%5D=yyyy-00-Dom+12%3Aii&q%5Bcreated_at_lteq%5D=yyyy-00-5%C2%AA+12%3Aii&button=

这是控制器中的索引方法:

def index
    @ransack = Multicast::Batch.includes(:cost_centre).where(customer_id: current_customer_id || '---')
      .order('scheduled_to DESC, created_at DESC')
    .search(params[:q])

    @batches = @ransack.result.page(params[:page]||1).per(10).decorate
  end

这是索引 HTML 代码:

.form-group
            = f.label :created_at_gteq, " FROM: "

            .input-group.date.calendar
              = f.text_field :created_at_gteq, class: "form-control"
              span.input-group-addon
                span.glyphicon.glyphicon-calendar


            = f.label :created_at_lteq, " TO: "
            |  
            .input-group.date.calendar
              = f.text_field :created_at_lteq, class: "form-control"
              span.input-group-addon
                span.glyphicon.glyphicon-calendar

这是 datetimepicker 函数:

$(function () {
    $('.calendar').datetimepicker();
});

【问题讨论】:

    标签: ruby-on-rails datepicker datetimepicker ransack


    【解决方案1】:

    我认为你可以用 ransacker 解决你的问题:

    https://github.com/activerecord-hackery/ransack/wiki/Using-Ransackers

    其他可能对您有帮助的解决方案(它对我不起作用,但您仍然可以尝试):

    https://github.com/activerecord-hackery/ransack/issues/265#issuecomment-51211135

    gem 具有以下功能:已保存的搜索,按上下文限定,可持久保存搜索参数并在将来使用;并且它与 ransack 兼容.

    来自 SO 的 answer 也可能有帮助。

    希望对你有帮助

    【讨论】: