在 Rails 应用程序中 URL 路径更改后,Scrollspy 不工作

Scrollspy not working after URL path changes in Rails App

在我目前正在开发的 Web 应用程序中,我有 Bootstrap 的 Scrollspy 以及滚动到顶部按钮。两者最初都工作正常,但在导航到我的应用程序的另一页并导航回来后,滚动完全被禁用。无法弄清楚是什么原因造成的。

您可以在 emeraldreview.herokuapp.com 查看它或在 https://github.com/jamesemcc/review-site-template

查看我的 repo

我不确定要包括哪些代码供您查看,所以我认为这是最简单的。感谢任何 help/advice!

这可能是 turbolink 的问题。在 app/assets/javascripts/application.js 中,替换

$(document).ready(function() {
  // your code
});

$(document).on('turbolinks:load', function() {
  // your code
});

Turbolinks 的工作原理是,每次在您的站点上单击 link 时,只需切换出 body 标记的内容。内容切换不会触发 jQuery 的 $(document).ready() 处理程序,但使用 turbolinks:load 事件应该可以解决问题。

希望对解决问题有所帮助,祝你好运!