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). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |