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

标签 ruby ruby-on-rails-5 turbolinks

我有一个页面,我们在其中显示嵌入式表格仪表板,在同一页面上有一个下拉列表,用户可以使用该下拉列表加载不同的仪表板,单击下拉选项时我调用 Turbolinks.visit(url, {action : '替换'})

第 1 步:用户第一次打开仪表板时,链接将是 https://www.example.com/dashboards/56

第 2 步:用户单击下拉列表中的“我的自定义 View ”下拉选项之一,Turbolinks.visit 执行,网址将为 https://www.example.com/dashboards/56?filter_id=12

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

第 4 步:用户现在尝试再次单击下拉选项“我的自定义 View ”以返回到早期版本的 View ,但 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();
            }
        });

关于ruby - Turbolinks.visit 未在同一页面上触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59308183/

相关文章:

Ruby - 相同类类型的常量

ruby - Ruby 1.8.7 中的 File.open 和 block

ruby-on-rails - 如何在 Rails 的关注点内使用属性 API?

javascript - 每次在 Rails 5 应用程序中加载 turbolinks 时执行 JS

ruby - 具有多个方法调用的 RSpec `should_receive` 行为

ruby-on-rails - rails,activerecord 求和然后排序

ruby-on-rails - Rails new 给出 "Could not find proper version of railties (4.2.5.1) in any of the sources"错误

ruby-on-rails - 在 simple_fields_for 中指定包装器

javascript - Turbolinks 5.0 和 Facebook SDK

ruby-on-rails-4 - Rails 4 + simple_form 和 jQuery UI。 Datepicker 无法通过 turbolinks 工作