如何让ActiveAdmin支持Ruby on Rails中的日期过滤器功能?

2026-04-11 17:460阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计226个文字,预计阅读时间需要1分钟。

如何让ActiveAdmin支持Ruby on Rails中的日期过滤器功能?

在设置日期范围筛选时,您希望日期为+包括的,例如:11/07/2011至11/09/2011,期望结果来自11月7日、8日和9日。目前,ActiveAdmin过滤器的工作方式是,日期范围只会返回所选结果。

通常在选择日期范围时,您希望日期为
包括的.即“11/07/2011” – “11/09/2011”,您希望它能够归还
结果来自11月7日,8日和9日. ActiveAdmin过滤器的工作方式
现在看来,日期范围只会返回结果
第8个是违反直觉的.

为了将此行为更改为预期,我需要修改什么?

如何让ActiveAdmin支持Ruby on Rails中的日期过滤器功能?

虽然雷尔斯的主要想法是正确的,但解决方案太过于苛刻.你不应该修补客户端.我们所要做的就是使用before_filter为datetime列的* _lte输入添加时间扩展.我们可以很容易地实现对ActiveAdmin :: ResourceDSL的过滤方法的monkeypatching.

以下是解决此问题的通用解决方案:gist.github.com/4015836.

本文共计226个文字,预计阅读时间需要1分钟。

如何让ActiveAdmin支持Ruby on Rails中的日期过滤器功能?

在设置日期范围筛选时,您希望日期为+包括的,例如:11/07/2011至11/09/2011,期望结果来自11月7日、8日和9日。目前,ActiveAdmin过滤器的工作方式是,日期范围只会返回所选结果。

通常在选择日期范围时,您希望日期为
包括的.即“11/07/2011” – “11/09/2011”,您希望它能够归还
结果来自11月7日,8日和9日. ActiveAdmin过滤器的工作方式
现在看来,日期范围只会返回结果
第8个是违反直觉的.

为了将此行为更改为预期,我需要修改什么?

如何让ActiveAdmin支持Ruby on Rails中的日期过滤器功能?

虽然雷尔斯的主要想法是正确的,但解决方案太过于苛刻.你不应该修补客户端.我们所要做的就是使用before_filter为datetime列的* _lte输入添加时间扩展.我们可以很容易地实现对ActiveAdmin :: ResourceDSL的过滤方法的monkeypatching.

以下是解决此问题的通用解决方案:gist.github.com/4015836.