Reputation: 133
I was about to implement a search function where users can filter a datetime column.
I am currently using rails datetime_field_tag
however I can't seem to make it work with ransack where people can choose a date with time in hours and minutes then either AM or PM.
Users can enter datetime in this format: dd/mm/yyyy hh:mm AM/PM
The column that i am searching for is in datetime format, ex: 2021-05-12 09:09:48
What's the best way to implement this one? with ransack or not? and how?
just my first time implementing datetime search function with ransack,
I tried searching online but i cant seem to find a good solution. thanks.
Upvotes: 1
Views: 668
Reputation: 1074
If you're receiving the datetime in string format from parameters and directly passing it to ransack, then you should convert that string to 24-hour format string (db format can also be used) first and then pass it to ransack.
For example
query_value = Time.zone.parse(params[:created_at_filter]).to_s(:db)
Person.ransack(created_at_eq: query_value)
Upvotes: 1