Thanks a lot, @stgm, setting the src
attribute to trigger a reload works fine!
Now I’ve made this Stimulus.js controller:
// app/javascript/controllers/refresh_controller.js
import { Controller } from "stimulus"
export default class extends Controller {
static values = {
src: String
}
connect() {
this.timeout = setTimeout(() => {
this.element.setAttribute('src', this.srcValue)
}, 5000);
}
disconnect() {
clearTimeout(this.timeout)
}
}
Usage in a Rails partial:
<%= turbo_frame_tag 'stats',
data: { controller: 'refresh', refresh_src_value: request.path } do %>
<p>Updated content</p>
<% end %>