gpt4 book ai didi

ruby-on-rails - 事件管理员自定义过滤器。按天过滤日期 |月 |日期属性的年份

转载 作者:行者123 更新时间:2023-12-04 17:53:31 27 4
gpt4 key购买 nike

我有一个带有 :birthday 属性的模型,我想按表单(ActiveAdmin 的 DSL :select)中指定的月份过滤掉这些日期。

这是一个仅提取生日日期月份的简单范围示例。也许可以帮助:

scope :birthday_month, where('extract(month from birthday) = ?', Date.today.month)

最佳答案

这是一个解决方案:

在我的 Active Admin 资源 (app/admin/employees.rb) 上,我输入:

filter :month, :as => :select, :collection => (1..12)

在我的模型(app/models/employee.rb)上:
scope :month_eq, lambda{ |month| where("strftime('%m', birthday) + 0 = ?", month.to_i) }

search_methods :month_eq

这种方法定义了“_eq”范围方法(MetaSearch)并通过 search_methods :month_eq 使其可用(元搜索也是)。

注意:
如果您不使用 sqlite,也许您会希望使用 where('extract(month from birthday) = ?', month.to_i)反而。

关于ruby-on-rails - 事件管理员自定义过滤器。按天过滤日期 |月 |日期属性的年份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12043265/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com