Rails应用程序使用Ransack-gem进行日期时间搜索



我正要实现一个搜索函数,用户可以在其中筛选日期时间列

我目前使用的是railsdatetime_field_tag,但我似乎无法使用transak,因为人们可以选择一个以小时和分钟为单位的日期,然后选择上午或下午。

用户可以按以下格式输入日期时间:dd/mm/yyyy hh:mm AM/PM

我正在搜索的列为日期时间格式,例如:2021-05-12 09:09:48

实现这一点的最佳方式是什么?有没有洗劫?如何
这是我第一次用transak、实现日期时间搜索功能

我试着在网上搜索,但似乎找不到一个好的解决方案。谢谢

如果您从参数中接收字符串格式的日期时间,并直接将其传递给ransak,那么您应该首先将该字符串转换为24小时格式的字符串(也可以使用db格式(,然后将其传递到ransak。

例如

query_value = Time.zone.parse(params[:created_at_filter]).to_s(:db)
Person.ransack(created_at_eq: query_value)

最新更新