Turbo streams option
I have done something similar (but using a POST request, not a GET - my URL stays the same.)
- I have a search form. The search for makes POST requests (or in your case, GET requests).
- The response is streamed back.
- The streamed results simply replace what was originally there on the page.
You don’t have to deal with mustache templates anymore. The same html which renders your page the first time around can be used to render it when your users apply filters.
The only thing I am uncertain is how to change your URL - since you would probably want them to change. This PR looks promising, though I haven’t read it carefully: https://github.com/hotwired/turbo/pull/167
Turbo frames.
There is a thread which seems to do something similar here: Turbo Frames with Browser Destination/URL Replacement - #10 by jonathanbruno
Using JS
I don’t know about using javascript to do the searching for you (as per the go rails video posted above) – another option would be to retain your html form and add a simple stimulus controller to automatically submit the form whenever there is a user input change.