- Create an Active Record Behavior that builds the criteria for the search() method and attach it to your model
- Modify the search() method of the model to merge the behavior's criteria in with the rest of the searchable attributes
- Modify the _search form view to add the date range inputs