When using Rails 7 with import maps, where do I put code that should be executed by one view only?
Specifically, I have a view that needs to run some Javascript code on load. My Javascript looks something like this:
import {TheController} from "./TheController"
let controller = new TheController();
document.onreadystatechange = function () {
if (document.readyState === 'complete') {
controller.onLoad();
}
};
How do I setup the Javascript environment so that the document.onreadystatechange
code is executed only by the desired view? (Everything almost works when I put this code in a file imported by application.js
, but then it gets executed by every view.)
I suspect the answer is to create separate importmaps and importmap_tags; but, I can find any demonstrations of how to do that in Rails 7.