如何让ActiveAdmin在ruby-on-rails中集成日期过滤器?

更新于
2026-10-09 21:03:39
0阅读来源:SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计236个文字,预计阅读时间需要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个是违反直觉的.

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

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

如何让ActiveAdmin在ruby-on-rails中集成日期过滤器?

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

本文共计236个文字,预计阅读时间需要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个是违反直觉的.

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

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

如何让ActiveAdmin在ruby-on-rails中集成日期过滤器?

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