Header 部分内容在 Rails 中无法正确呈现

Header partial not rendering properly in Rails

我创建了我在不同页面上引用的 header 部分。导航栏有 drop-down 菜单。

在启动本地服务器时,它可以完美地用于主页。但是,如果我导航到另一个页面,下拉菜单将不再起作用。刷新网页后,下拉菜单再次开始工作。

任何人都可以指导我我可能哪里出错了。

听起来像是 turbolinks 问题。

要简单地删除 turbolinks,请遵循 these insturctions:

  1. 从您的 Gemfile 和 运行 包中删除“gem“turbolinks””。
  2. 从 application.js 中删除“//= 需要 turbolinks”。
  3. 删除布局中的所有“data-turbolinks-track”属性。

或者要继续使用 turbolinks 并正确使用,请阅读 the rails guides on turbolinks。简而言之,当您单击新页面时,您的 document.ready 事件(可能是您正在使用的)不会触发,因此您的导航设置不会正确。您需要改用 "on page change" 事件。

正如 joshua 所说,这听起来像是一个 turbolinks 问题。 如果您使用 jquery,jQuery Turbolinks gem 可以轻松解决该问题。