Turbolinks.visit 未在同一页面上触发

Turbolinks.visit not triggering on the same page

我有一个显示嵌入式画面仪表板的页面,在同一页面上有一个下拉菜单,用户可以使用该下拉菜单加载不同的仪表板,单击我称之为 Turbolinks.visit(url, {action: 'replace'})[=17= 的下拉选项]

第 1 步:用户第一次打开仪表板时 link https://www.example.com/dashboards/56

STEP 2:用户在下拉菜单中点击其中一个下拉选项“我的自定义视图”,Turbolinks.visit执行,url将是https://www.example.com/dashboards/56?filter_id=12

第 3 步:用户现在可以与仪表板交互应用不同的过滤器,这会产生与第 2 步结果完全不同的视图,但这不会改变 URL 但是改变了视图

第 4 步:用户现在尝试再次单击下拉选项“我的自定义视图”以返回到早期版本的视图,但是 Turbolinks.visit 没有打开 URL 作为 URL没变

我的问题是如何强制 Turbolink.visit(url, {action: replace}) 始终访问该页面,即使它在同一页面上?

这方面的任何帮助都会很棒。

更新 1: 我需要使用 Turbolinks 重新加载同一页面。如果我提供相同的页面 url,Turbolink.visit 不会触发,如果我提供不同的 url.

,它会起作用

如何使用 Turbolinks.visit 访问/重新加载同一页面。

它按预期工作,我有以下代码阻止在同一页面上重新加载

$(document).on('turbolinks:before-visit', function(event) {
            if (event.originalEvent.data.url == window.location.href) {
                event.preventDefault();
            }
        });