我在 Rails 4 应用程序中使用 Foundation 5。当我发送请求时,顶栏菜单工作正常。我可以悬停项目和嵌套项目没有问题。然后,我单击其中一个项目,该项目具有与其关联的 link_to 方法。有时它会给出正确的结果,我的菜单仍然可以完美运行,但有时整个事情都会冻结。这也使得移动菜单的后退按钮消失。一旦我通过刷新或网址发送新请求,菜单就会再次工作。
Rails 在日志文件中没有看到任何问题。我的菜单在轨道之外工作正常。我想知道这是否与我的 link_to tag_helpers 或我在应用程序中设置基础的方式有关?
下面是关于如何为基础路由 JS 的快速概述。 (他们在文档中建议的配置)
视图/布局/application.html.erb:
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<%= stylesheet_link_tag "application" %>
<%= javascript_include_tag "vendor/modernizr" %>
</head>
<body>
<%= javascript_include_tag "application" %>
</body>
资产/application.js:
//= require jquery
//= require jquery_ujs
//= require foundation
//= require turbolinks
//= require_tree .
$(document).foundation();
还有其他人遇到过这个问题吗?除了不使用 Foundation 5 还有什么好的解决方案吗?
谢谢
亚历克斯
Foundation 已知 Turbolinks 存在问题,您的问题可能就是由此引起的。
要解决此问题,您可以禁用 Turbolinks 并查看顶部栏是否仍然存在问题。
这是一个简单的指南:http://blog.steveklabnik.com/posts/2013-06-25-removing-turbolinks-from-rails-4 .
除此之外,如果您必须拥有 Turbolinks,Turbolinks 就是问题所在。您可以尝试添加 jquery Turbolinks,如下所示:https://github.com/kossnocorp/jquery.turbolinks .
如果问题仍然存在,下一步将是检查您导入 javascript 文件的顺序(这对于这些 Turbolinks/Foundation 问题很重要),这样您可能会感到满意。 我没有确切的顺序让您将它们放入,但如果您搜索“Turbolinks Foundation”问题,您最终会偶然发现一些解决方案。 这不一定是特定的解决方案,但它'将引导您走向正确的方向。
Update:尝试按此顺序导入您的 javascript 资源。并且,引用source:
Its important to put all the Javascripts to be loaded inside the tag. The order of inclusion of jQuery is important – ensure you load jquery.turbolinks before turbolinks and after jquery. Include all your custom js between jquery-turbolinks.js and turbolinks.js in your application.js
// app/assets/javascript/application.js
//= require jquery
//= require jquery.turbolinks
//= require jquery_ujs
//= require foundation
//= require jwplayer/jwplayer.js
//= require asset_videos
//= require turbolinks
Note:看着亚历克斯·奥布的回答在此页面上获取其他有用信息。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)