Ruby Turbolinks.visit不在同一页面上触发
我有一个显示嵌入式tableau仪表板的页面,在同一页面上有一个下拉列表,用户可以使用它加载不同的仪表板,单击我调用的下拉选项Ruby Turbolinks.visit不在同一页面上触发,ruby,ruby-on-rails-5,turbolinks,Ruby,Ruby On Rails 5,Turbolinks,我有一个显示嵌入式tableau仪表板的页面,在同一页面上有一个下拉列表,用户可以使用它加载不同的仪表板,单击我调用的下拉选项Turbolinks.visit(url,{action:'replace'}) 步骤1:用户第一次打开仪表板时,链接将被删除 步骤2:用户单击下拉菜单中的一个下拉选项“我的自定义视图”,即Turbolinks。执行visit,url将被删除 第3步:用户现在可以与仪表板交互,应用不同的过滤器,这将导致与第2步的视图完全不同的视图,但这不会更改URL,而是更改视图 步骤
Turbolinks.visit(url,{action:'replace'})
步骤1:用户第一次打开仪表板时,链接将被删除
步骤2:用户单击下拉菜单中的一个下拉选项“我的自定义视图”,即Turbolinks。执行visit
,url将被删除
第3步:用户现在可以与仪表板交互,应用不同的过滤器,这将导致与第2步的视图完全不同的视图,但这不会更改URL,而是更改视图
步骤4:用户现在尝试再次单击下拉选项“我的自定义视图”以返回早期版本的视图,但是Turbolinks.visit
不会打开URL,因为URL没有更改
我的问题是如何强制Turbolink.visit(url,{action:replace})
始终访问该页面,即使它位于同一页面上
这方面的任何帮助都会很好
更新1:我需要使用TurboLink重新加载同一页面。如果我提供相同的页面url,则不会触发Turbolink.visit,如果我提供不同的url,则它会起作用
如何使用Turbolinks.visit访问/重新加载同一页面。它按预期工作,我有下面的代码阻止在同一页面上重新加载
$(document).on('turbolinks:before-visit', function(event) {
if (event.originalEvent.data.url == window.location.href) {
event.preventDefault();
}
});
所以“通过下拉项更改url”可以工作(如步骤2所述),但在您使用过一次并且页面/url更改后就不工作了,如果我理解正确的话?如果是这样的话,您能否描述一下如何初始化下拉行为(链接),以及在布局(页眉或页脚)中包含Java脚本的位置?