加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 活动管理员自定义过滤器.按日过滤日期|月| Dat

发布时间:2020-12-17 03:36:11 所属栏目:百科 来源:网络整理
导读:我有一个带有:birthday属性的Model,我希望按表单中指定的月份过滤掉这些日期(ActiveAdmin的DSL:select). 这是仅提取生日日期的简单范围的示例.也许可以帮助: scope :birthday_month,where('extract(month from birthday) = ?',Date.today.month) 解决方法
我有一个带有:birthday属性的Model,我希望按表单中指定的月份过滤掉这些日期(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(MetaSearch)将其转换为可用范围.

注意:如果你没有使用sqlite,也许你会希望使用where(‘extract(生日月份)=?’,month.to_i).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读