DEV Community

How to use modals with forms in Rails using Turbo

Doug Stull on January 08, 2021

Goal Using the Hotwire, show how to setup a basic implementation of a modal with a form. We'll break this down into talking about the c...
Collapse
 
matiascarpintini profile image
Matias Carpintini

I don't like the fact of render edit partial on each iteration :/

Collapse
 
dstull profile image
Doug Stull

Yep...that could likely be refactored to only put in one edit modal for entire page as an optimization

Collapse
 
dstull profile image
Doug Stull

I've fine tuned this a bit to only edit one modal - could likely go further and make it one modal skeleton/post-modal stimulus controller instance for entire page if desired. Let me know what you think - gitlab.com/doug.stull/turbo_modal

Thread Thread
 
dstull profile image
Doug Stull

I've further refactored it now to only render a modal skeleton once and utilize that for both new and edit and updated this post - thanks for the nudge in a better direction!

Thread Thread
 
matiascarpintini profile image
Matias Carpintini

Do you know how we can run some JS when form appends? I'm using selectize, the first time works with turbo:loads, but not then because turbo just fires when the history changes :/

Thread Thread
 
dstull profile image
Doug Stull

I don’t know how...yet. I had same issue with wanting to trigger showing the modal when it was finished rendering. In my case I hacked it with a 200ms timeout in the post-modal controller. Maybe someone will come along with an a solution.

Collapse
 
dstull profile image
Doug Stull • Edited

I've updated the code used in this post with the latest release of turbo. I had to change how things loaded a bit and rely on turbo include tag to load turbo correctly. Webpack loading was having issues with any update of turbo-rails past 0.5.3.

Latest commit shows the updates gitlab.com/doug.stull/turbo_modal/...