从输入中选择rails datetimepicker清除日期

时间:2016-10-04 17:24:54

标签: ruby-on-rails datepicker datetimepicker ransack

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

这是回复网址:

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();
});

1 个答案:

答案 0 :(得分:0)

我认为你可以用搜索者解决你的问题:

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

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

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

gem具有以下功能: 保存的搜索,按上下文确定范围,以保留搜索参数并在将来使用; 且兼容与搜索一起。

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

我希望它有所帮助