dev test
dev test

Reputation: 133

Rails app datetime search using Ransack gem

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

Answers (1)

Kashif Umair Liaqat
Kashif Umair Liaqat

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

Related Questions